{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. Competition Overview\n",
    "In this competition you will work with a challenging **time-series** dataset consisting of daily sales data, kindly provided by one of the largest Russian software firms - 1C Company. \n",
    "\n",
    "### File descriptions\n",
    "- **sales_train.csv** - the training set. Daily historical data from January 2013 to October 2015.\n",
    "- **test.csv** - the test set. You need to forecast the sales for these shops and products for November 2015.\n",
    "- **sample_submission.csv** - a sample submission file in the correct format.\n",
    "- **items.csv** - supplemental information about the items/products.\n",
    "- **item_categories.csv**  - supplemental information about the items categories.\n",
    "- **shops.csv**- supplemental information about the shops.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1 Loading Libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import gc\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "pd.set_option('display.max_rows', 600)\n",
    "pd.set_option('display.max_columns', 50)\n",
    "\n",
    "import lightgbm as lgb\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import r2_score\n",
    "import seaborn as sns # for making plots with seaborn\n",
    "from tqdm import tqdm_notebook\n",
    "color = sns.color_palette()\n",
    "sns.set()\n",
    "\n",
    "from itertools import product\n",
    "\n",
    "Validation = False"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.2 Load data\n",
    "Submissions are evaluated by **root mean squared error (RMSE)**. True target values are clipped into [0,20] range."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "sales = pd.read_csv('sales_train.csv.gz')\n",
    "shops = pd.read_csv('shops.csv')\n",
    "items = pd.read_csv('items.csv')\n",
    "item_cats = pd.read_csv('item_categories.csv')\n",
    "test = pd.read_csv('test.csv.gz')\n",
    "submission = pd.read_csv('sample_submission.csv.gz')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's check data shapes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Size of sales : (2935849, 6)\n",
      "Size of test : (214200, 3)\n",
      "Size of shops : (60, 2)\n",
      "Size of items : (22170, 3)\n",
      "Size of item_cats : (84, 2)\n"
     ]
    }
   ],
   "source": [
    "print('Size of sales :', sales.shape)\n",
    "print('Size of test :', test.shape)\n",
    "print('Size of shops :', shops.shape)\n",
    "print('Size of items :', items.shape)\n",
    "print('Size of item_cats :', item_cats.shape)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. Explorary Data Analysis\n",
    "- **item_cnt_day** - number of products sold. You are predicting a monthly amount of this measure\n",
    "- **date_block_num** - a consecutive month number, used for convenience. January 2013 is 0, February 2013 is 1,..., October 2015 is 33"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Unique shops : 60\n",
      "Test Unique shops : 42\n",
      "Train Unique items: 21807\n",
      "Test Unique items : 5100\n",
      "min item prize : -1.0\n",
      "max item prize : 307980.0\n"
     ]
    }
   ],
   "source": [
    "print('Train Unique shops :', len(sales['shop_id'].unique()))\n",
    "print('Test Unique shops :', len(test['shop_id'].unique()))\n",
    "print('Train Unique items:', len(sales['item_id'].unique()))\n",
    "print('Test Unique items :', len(test['item_id'].unique()))\n",
    "print('min item prize :', min(sales['item_price']))\n",
    "print('max item prize :', max(sales['item_price']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>06.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date  date_block_num  shop_id  item_id  item_price  item_cnt_day\n",
       "0  02.01.2013               0       59    22154      999.00           1.0\n",
       "1  03.01.2013               0       25     2552      899.00           1.0\n",
       "2  05.01.2013               0       25     2552      899.00          -1.0\n",
       "3  06.01.2013               0       25     2554     1709.05           1.0\n",
       "4  15.01.2013               0       25     2555     1099.00           1.0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5037</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>5320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5232</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5268</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ID  shop_id  item_id\n",
       "0   0        5     5037\n",
       "1   1        5     5320\n",
       "2   2        5     5233\n",
       "3   3        5     5232\n",
       "4   4        5     5268"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PC - Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Аксессуары - PS2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Аксессуары - PS3</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Аксессуары - PS4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Аксессуары - PSP</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        item_category_name  item_category_id\n",
       "0  PC - Гарнитуры/Наушники                 0\n",
       "1         Аксессуары - PS2                 1\n",
       "2         Аксессуары - PS3                 2\n",
       "3         Аксессуары - PS4                 3\n",
       "4         Аксессуары - PSP                 4"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_cats.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_name</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>! ВО ВЛАСТИ НАВАЖДЕНИЯ (ПЛАСТ.)         D</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!ABBYY FineReader 12 Professional Edition Full...</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>***В ЛУЧАХ СЛАВЫ   (UNV)                    D</td>\n",
       "      <td>2</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>***ГОЛУБАЯ ВОЛНА  (Univ)                      D</td>\n",
       "      <td>3</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>***КОРОБКА (СТЕКЛО)                       D</td>\n",
       "      <td>4</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           item_name  item_id  \\\n",
       "0          ! ВО ВЛАСТИ НАВАЖДЕНИЯ (ПЛАСТ.)         D        0   \n",
       "1  !ABBYY FineReader 12 Professional Edition Full...        1   \n",
       "2      ***В ЛУЧАХ СЛАВЫ   (UNV)                    D        2   \n",
       "3    ***ГОЛУБАЯ ВОЛНА  (Univ)                      D        3   \n",
       "4        ***КОРОБКА (СТЕКЛО)                       D        4   \n",
       "\n",
       "   item_category_id  \n",
       "0                40  \n",
       "1                76  \n",
       "2                40  \n",
       "3                40  \n",
       "4                40  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "items.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Convert the `item['date']` to pandas date format"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "sales['date'] = pd.to_datetime(sales['date'], format = '%d.%m.%Y')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Add **item_category_id** to **sales** as a feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2013-01-02</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2013-01-03</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2013-01-05</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2013-01-06</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2013-01-15</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date  date_block_num  shop_id  item_id  item_price  item_cnt_day  \\\n",
       "0 2013-01-02               0       59    22154      999.00           1.0   \n",
       "1 2013-01-03               0       25     2552      899.00           1.0   \n",
       "2 2013-01-05               0       25     2552      899.00          -1.0   \n",
       "3 2013-01-06               0       25     2554     1709.05           1.0   \n",
       "4 2013-01-15               0       25     2555     1099.00           1.0   \n",
       "\n",
       "   item_category_id  \n",
       "0                43  \n",
       "1                40  \n",
       "2                40  \n",
       "3                37  \n",
       "4                30  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales['item_category_id'] = sales['item_id'].map(sales['item_id'].map(items['item_category_id']))\n",
    "sales.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.1 Check for missing data\n",
    "It seems look pretty good that there is no missing data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "item_category_id    0\n",
       "item_cnt_day        0\n",
       "item_price          0\n",
       "item_id             0\n",
       "shop_id             0\n",
       "date_block_num      0\n",
       "date                0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales.isnull().sum().sort_values(ascending = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2909818</th>\n",
       "      <td>2015-10-28</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>0.908714</td>\n",
       "      <td>2169.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2257993</th>\n",
       "      <td>2014-12-31</td>\n",
       "      <td>23</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>38.500000</td>\n",
       "      <td>4.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2048642</th>\n",
       "      <td>2014-10-30</td>\n",
       "      <td>21</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>71.000000</td>\n",
       "      <td>2.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1058343</th>\n",
       "      <td>2013-11-29</td>\n",
       "      <td>10</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>72.200000</td>\n",
       "      <td>105.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2462729</th>\n",
       "      <td>2015-02-26</td>\n",
       "      <td>25</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>75.454545</td>\n",
       "      <td>11.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              date  date_block_num  shop_id  item_id  item_price  \\\n",
       "2909818 2015-10-28              33       12    11373    0.908714   \n",
       "2257993 2014-12-31              23       12    11373   38.500000   \n",
       "2048642 2014-10-30              21       12    11373   71.000000   \n",
       "1058343 2013-11-29              10       12    11373   72.200000   \n",
       "2462729 2015-02-26              25       12    11373   75.454545   \n",
       "\n",
       "         item_cnt_day  item_category_id  \n",
       "2909818        2169.0                75  \n",
       "2257993           4.0                75  \n",
       "2048642           2.0                75  \n",
       "1058343         105.0                75  \n",
       "2462729          11.0                75  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales[sales['item_id'] == 11373].sort_values(['item_price']).head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1651714</th>\n",
       "      <td>2014-05-16</td>\n",
       "      <td>16</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>124.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2805487</th>\n",
       "      <td>2015-08-21</td>\n",
       "      <td>31</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>170.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1330776</th>\n",
       "      <td>2014-01-13</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>180.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1398688</th>\n",
       "      <td>2014-02-25</td>\n",
       "      <td>13</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>194.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>661581</th>\n",
       "      <td>2013-07-05</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>230.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              date  date_block_num  shop_id  item_id  item_price  \\\n",
       "1651714 2014-05-16              16       12    11365       124.0   \n",
       "2805487 2015-08-21              31       12    11365       170.0   \n",
       "1330776 2014-01-13              12       12    11365       180.0   \n",
       "1398688 2014-02-25              13       12    11365       194.0   \n",
       "661581  2013-07-05               6       12    11365       230.0   \n",
       "\n",
       "         item_cnt_day  item_category_id  \n",
       "1651714           5.0                75  \n",
       "2805487           2.0                75  \n",
       "1330776           3.0                75  \n",
       "1398688           5.0                75  \n",
       "661581            4.0                75  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales[sales['item_id'] == 11365].sort_values(['item_price']).head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  after removing the cwd from sys.path.\n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"\n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  import sys\n"
     ]
    }
   ],
   "source": [
    "# Correct sale_train values\n",
    "sales['item_price'][2909818] = np.nan\n",
    "sales['item_cnt_day'][2909818] = np.nan\n",
    "sales['item_price'][2909818] = sales[(sales['shop_id'] ==12) & (sales['item_id'] == 11373) & (sales['date_block_num'] == 33)]['item_price'].median()\n",
    "sales['item_cnt_day'][2909818] = round(sales[(sales['shop_id'] ==12) & (sales['item_id'] == 11373) & (sales['date_block_num'] == 33)]['item_cnt_day'].median())\n",
    "sales['item_price'][885138] = np.nan\n",
    "sales['item_price'][885138] = sales[(sales['item_id'] == 11365) & (sales['shop_id'] ==12) & (sales['date_block_num'] == 8)]['item_price'].median()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.2 Distribution of item_price"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "percentage : 0.9884765871814252\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAFOCAYAAABe2HG/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl83WWZ9/HPdbLvW9O96ZIWaMvWUlpAELAgoEhxBCmCouKgDi7POM4IM47O8Mgzo/OojwvoqCCCrKJi1QqCyLCV0patLaWQLumapUma/SRnuZ8/zi/taXqSnKRpzpLv+/XKy3Pu3/27f9dJ6osrd677vs05h4iIiIiIHH++RAcgIiIiIjJeKPkWERERERkjSr5FRERERMaIkm8RERERkTGi5FtEREREZIwo+RYRERERGSNKvkVEPGb2YzP711Eaq8rMOswsw3v/jJl9ajTG9sb7k5ndMFrjDeO53zCzA2ZWF+PaeWa2daxjOlZmdp2Z/TnRcYjI+GDa51tExgMz2wlMAoJACHgTuBf4iXMuPIKxPuWce2oY9zwD/NI597PhPMu799+Auc6564d772gysxnA28BM51xDHP13Mszvk4hIutPMt4iMJx9wzhUBM4H/BL4C3DXaDzGzzNEeM0nMBJriSbxTRRr/rEQkSSn5FpFxxznX6pxbBVwD3GBmJwOY2T1m9g3v9QQz+4OZHTSzZjN7zsx8ZnYfUAX83isr+Sczm2VmzsxuNLNdwNNRbdHJXbWZvWxmrWb2OzMr9551gZntiY7RzHaa2UVmdinwz8A13vNe964fKmPx4vqqmdWaWYOZ3WtmJd61vjhuMLNdXsnIvwz0vTGzEu/+Rm+8r3rjXwQ8CUz14rgnxr2HPkes75PXfpaZveh9X183swui7n/GK2t50bvn92ZWYWb3m1mbma0zs1lD/Xy9z/sFM9vufd7/MjOfd+3jZvaCmX3XzJqBf/Pano+6f6GZPen93OvN7J+jvs+3mNk2M2sys0f6foYiIvFS8i0i45Zz7mVgD3BejMv/4F2rJFKu8s+RW9xHgV1EZtELnXPfirrnfGA+cMkAj/wY8ElgKpHyl+/HEePjwP8BHvaed1qMbh/3vi4E5gCFwA/79TkXOBFYDnzNzOYP8MgfACXeOOd7MX/CKx25DNjnxfHxIeI+6vtkZtOAPwLfAMqBLwO/NrPKqFtXAh8FpgHVwBrg517/LcDXB3tulA8CS4DFwAoi3/c+y4DtwETg9uibzKwIeAp4nMjPaS7wF+/yF4AriXxfpgItwB1xxiMiAij5FhHZRySx6y8ATCFS3xxwzj3nhl4k82/OuU7nXPcA1+9zzm1yznUC/wp8uG9B5jG6DviOc267c64DuBVY2W/W/d+dc93OudeB14GjkngvlmuAW51z7c65ncC3iSTDo+F6YLVzbrVzLuycexJYD7wvqs/PnXPbnHOtwJ+Abc65p5xzQeBXwKI4n/VN51yzc24X8P+Aa6Ou7XPO/cA5F4zxs7ocqHPOfds55/e+D2u9a58G/sU5t8c51wP8G3CVSldEZDiUfIvIeDcNaI7R/l9ADfBnr3zhljjG2j2M67VAFjAhrigHN9UbL3rsTCIz9n2idyfpIjI73t8EIDvGWNNGIUaI1Ixf7ZWcHDSzg0Rm5KdE9amPet0d432suGPp/72eOsC1/mYA2wa4NhP4bVTsW4gs3p00QH8RkaMo+RaRccvMziSSWD7f/5o34/kPzrk5wAeAL5nZ8r7LAww51Mz4jKjXVURm1w8AnUB+VFwZRMpd4h13H5HEMHrsIEcmrvE44MXUf6y9wxynT/+4dxOZ/S+N+ipwzv3nCMcfTP/v9b5B4uofY/Ug1y7rF3+uc26k3x8RGYeUfIvIuGNmxWZ2OfAQke3/Nsboc7mZzTUzA9qIzHCGvMv1RGqih+t6M1tgZvnAbcCjzrkQke37cs3s/WaWBXwVyIm6rx6Y1bdoMIYHgb83s9lmVsjhGvHgcILzYnkEuN3MisxsJvAl4JfDGadf3NHfp18CHzCzS8wsw8xyvUWa00c4/mD+0czKLLI94heBh+O87w/AZDP7X2aW430flnnXfkzkezMTwMwqzWzF6IcuIulMybeIjCe/N7N2IjOY/wJ8B/jEAH3nEVl410Fk0d+dzrlnvGv/AXzVKz/48jCefx9wD5ESkFwiC/jw6pv/DvgZkVnmTiKLPfv8yvvfJjN7Jca4d3tjPwvsAPzA54cRV7TPe8/fTuQvAg9444/EEd8n59xuIosf/xloJPJz+EeOz3+LfgdsAF4jssgzri0lnXPtwMVE/tpRB7xDZCErwPeAVURKkdqBl4gs3hQRiZsO2RERkbRiZg6Y55yrSXQsIiL9aeZbRERERGSMaHskERFJKWZ2HpFtCI/inIt3NxQRkYRQ2YmIiIiIyBhR2YmIiIiIyBhR8i0iIiIiMkbSuuZ7woQJbtasWYkOQ0RERETS3IYNGw445yqH6pfWyfesWbNYv359osMQERERkTRnZrXx9FPZiYiIiIjIGFHyLSIiIiIyRuJKvs3sUjPbamY1ZnZLjOs5Zvawd32tmc2Kunar177VzC6Jar/bzBrMbFO/sR42s9e8r51m9prXPsvMuqOu/XikH1pEREREJBGGrPk2swzgDuBiYA+wzsxWOefejOp2I9DinJtrZiuBbwLXmNkCYCWwEJgKPGVmJzjnQsA9wA+Be6Of55y7JurZ3wZaoy5vc86dPvyPKSIiIiKSePHMfC8Fapxz251zvcBDwIp+fVYAv/BePwosNzPz2h9yzvU453YANd54OOeeBZoHeqh3/4eBB4fxeUREREREklY8yfc0YHfU+z1eW8w+zrkgkdnqijjvHch5QL1z7p2ottlm9qqZ/Y93vLCIiIiISMqIZ6tBi9HW/0z6gfrEc+9AruXIWe/9QJVzrsnMzgAeM7OFzrm2IwIxuwm4CaCqqirOR4mIiIiIHH/xzHzvAWZEvZ8O7Buoj5llAiVESkriufco3hh/Azzc1+aVrjR5rzcA24AT+t/rnPuJc26Jc25JZeWQ+5yLiIiIiIyZeJLvdcA8M5ttZtlEFlCu6tdnFXCD9/oq4GnnnPPaV3q7ocwG5gEvx/HMi4C3nHN7+hrMrNJb/ImZzfHG2h7HWCIiIiIiSWHIshPnXNDMPgc8AWQAdzvnNpvZbcB659wq4C7gPjOrITLjvdK7d7OZPQK8CQSBm72dTjCzB4ELgAlmtgf4unPuLu+xKzl6oeW7gdvMLAiEgM845wZcsCkiIiIikmwsMkGdnpYsWeJ0vLyIiIiIHG9mtsE5t2SofvEsuJQk9cDaXcPq/5FlWoAqIiIikkg6Xl5EREREZIwo+RYRERERGSNKvkVERERExoiSbxERERGRMaLkW0RERERkjCj5FhEREREZI0q+RURERETGiJJvEREREZExouRbRERERGSMKPkWERERERkjSr5FRERERMaIkm8RERERkTGi5FtEREREZIwo+RYRERERGSNKvkVERERExoiSbxERERGRMaLkW0RERERkjCj5FhEREREZI0q+RURERETGiJJviek7T77N3c/vSHQYIiIiImlFybccxTnHL1+q5d41OxMdioiIiEhaUfItR2ns6KG5s5edTV00dfQkOhwRERGRtKHkW47y1v72Q69f3XUwgZGIiIiIpBcl33KUrXWR5Ntn8MqulgRHIyIiIpI+MhMdgCSfLXVtTCrOYVJxLhtqlXyLiIiIjBbNfMtRtta1c+LkYhZXlfHGnlaCoXCiQxIRERFJC5r5HkceWLtryD6hsGNrXTtnV2ezeGYZ97y4k7fq2jl5WskYRCgiIiKS3jTzLUdo6ughGHZMLs5lcVUpgEpPREREREZJXMm3mV1qZlvNrMbMbolxPcfMHvaurzWzWVHXbvXat5rZJVHtd5tZg5lt6jfWv5nZXjN7zft631Bjyeipa/MDMLkkl2mleUwqztGiSxEREZFRMmTybWYZwB3AZcAC4FozW9Cv241Ai3NuLvBd4JvevQuAlcBC4FLgTm88gHu8tli+65w73ftaHcdYMkrq2vz4DCoLczAzFleVKfkWERERGSXxzHwvBWqcc9udc73AQ8CKfn1WAL/wXj8KLDcz89ofcs71OOd2ADXeeDjnngWahxHrgGPJ4PyBED95dju1TZ1D9q1r9TOhMIfMjMg/jcVVZexu7qah3X+8wxQRERFJe/Ek39OA3VHv93htMfs454JAK1AR572xfM7M3vBKU8qGEYfEsKG2hZ1NnXEdmFPf5mdySe6h94tnRr79r9TqsB0RERGRYxVP8m0x2lycfeK5t78fAdXA6cB+4NvDiAMzu8nM1pvZ+sbGxiEelf7CzrFmexMA2xo7Bu3rD4Ro6Qowufhw8n3ytGKyM3y8qtITERERkWMWT/K9B5gR9X46sG+gPmaWCZQQKSmJ594jOOfqnXMh51wY+CmHS0viGss59xPn3BLn3JLKysohPlr6e7u+nebOXqrK82nq7OVgV++Afev7FltGJd85mRksnFasHU9ERERERkE8yfc6YJ6ZzTazbCKLHlf167MKuMF7fRXwtHPOee0rvd1QZgPzgJcHe5iZTYl6+0GgbzeUYY8lsGZbE8W5mXzg1KkAbG8cuO47eqeTaGdUlfHG3lZ6gzpsR0RERORYDJl8ezXcnwOeALYAjzjnNpvZbWZ2hdftLqDCzGqALwG3ePduBh4B3gQeB252zoUAzOxBYA1wopntMbMbvbG+ZWYbzewN4ELg74caS2JraPfzTkMHS2dXMKU0l4LsjEFLT+pa/eRm+SjJyzqiffHMMnqDYd7c33a8QxYRERFJa3GdcOlt97e6X9vXol77gasHuPd24PYY7dcO0P+jg8QRcyyJ7aXtTWT4jKWzy/GZMaeykG2NHTjniGxGc6S6Nj+TinKPura4KrLockNtC6fPKB2T2EVERETSkU64TFP+QIhXdh3k1GklFOZEfseqriykzR/kQMfRdd/OuaN2OunTd+CO9vsWEREROTZKvtPUhtoWeoNhzqmecKiturIAiL3rSWt3AH8gzKTio5NvgEVVpbyqRZciIiIix0TJdxoKO8dL25uoKs9nWlneofbygmxK87JiJt99iy2nxJj5BjhjZhn7Wv3sb+0+PkGLiIiIjANKvtPQO/XtNHX2cnZ1xRHtZkZ1ZSHbGzsJuyO3SK9rjSTfA81899V967AdERERkZFT8p2G1mxvoig3k5Onlhx1bU5lAd2B0KFku09dm5/S/CxyszJijjl/SjE5mT7VfYuIiIgcAyXfaaaxvYe36ztYNrucDN/RO5pUVxYCR9d917X6jzhcp7/sTB+nTS/VYTsiIiIix0DJd5pZ420veOas8pjXi/OyqCzMOSL5DobCHOjoGTT5Blg0s5TN+1rxB7S9uoiIiMhIKPlOI5HtBVs4dVoJRblZA/arnljAzgNdBMOREysbO3oIO5g0wGLLPourygiEHJv3tY5q3CIiIiLjhZLvNLKnpZveYJjTqwY/CKe6spDeUJg9zZGdS/rqv4ea+Y4+bEdEREREhk/JdxrpKwfpO1RnILMnFGDAtgOR0pO6Nj8ZPmNCYc6g91UW5VBVnq8dT0RERERGKK7j5SU19CXfeQPsWNInPzuTqaV5bGvoZPlJUN/mZ2JRzlELNB9Yu+uoeysKsnmu5gD3v1R7xDH0H1lWNQqfQERERCS9aeY7jfQl3wNtFxhtTmUBu5u76A2Gh9zppP99nT1B6tt6jilWERERkfFIyXca6Q6EMSLbAg6lurKQkHNsqWujzR9k8hCLLaPvg9hH1IuIiIjI4JR8pxF/IEROlg+fHb2/d3+zKgrIMOPFmgPAwCdb9lean01FQbaSbxEREZERUPKdRvyBUFwlJxCZHZ9RnsfulsiOJ/GWnQBUTyxk+4FOQmE3dGcREREROUTJdxrxB0JDLraM1ldCkp+dQVFu/GtvqysL6Q2G2dPSNewYRURERMYzJd9pxB8Mk5MZf/I9x0u+JxXnHrFzyVCq+7YqVOmJiIiIyLAo+U4jkZnv+H+kM8rzyMvKYEZZ3rCek5+TyZTSXLY1dg43RBEREZFxTft8pxF/IETuMGq3M30+Pv+eueRnD/+fQXVlIS/WNNEbDMe1u4qIiIiIaOY7rXQPY8Fln9L87BElz31bFe5s0uy3iIiISLyUfKeJsHP0BMLDTr5HalZFARk+U923iIiIyDAo+U4TvcEwDsgdRs33scjO9FFVnq/kW0RERGQYlHynib6j5Yez1eCxqq4sYP9BP109wTF7poiIiEgqU/KdJvyBMAA5Y5p8F+KAbQdU9y0iIiISDyXfaaI7ATPf08vyycn0qfREREREJE5KvtNEX9nJWNV8A2T4jNkTCtjWoORbREREJB5KvtPE4eR77Ga+IVJ60tTZy96D3WP6XBEREZFUpOQ7TSQs+Z4YOaL+hZoDY/pcERERkVSk5DtN+IORBZdjWXYCMKkoh8KcTF5U8i0iIiIypLgyNTO71My2mlmNmd0S43qOmT3sXV9rZrOirt3qtW81s0ui2u82swYz29RvrP8ys7fM7A0z+62ZlXrts8ys28xe875+PNIPnY78vSGyMoxM39gm32bGnMoCXtjWhHNuTJ8tIiIikmqGzNTMLAO4A7gMWABca2YL+nW7EWhxzs0Fvgt807t3AbASWAhcCtzpjQdwj9fW35PAyc65U4G3gVujrm1zzp3ufX0mvo84PviDIXIzx7bkpM/cykIa23uo0cJLERERkUHFM026FKhxzm13zvUCDwEr+vVZAfzCe/0osNzMzGt/yDnX45zbAdR44+GcexZo7v8w59yfnXN9p7a8BEwf5mcal7rH8Gj5/vrqvp9X6YmIiIjIoOJJvqcBu6Pe7/HaYvbxEudWoCLOewfzSeBPUe9nm9mrZvY/ZnbeMMZJe/5AaMzrvfuU5WczsyKfF2qaEvJ8ERERkVQRT7ZmMdr6F/cO1Ceee2M/1OxfgCBwv9e0H6hyzi0CvgQ8YGbFMe67yczWm9n6xsbGeB6VFiLJd2JmvgHOqZ7A2u2q+xYREREZTDzJ9x5gRtT76cC+gfqYWSZQQqSkJJ57j2JmNwCXA9c5L5vzSleavNcbgG3ACf3vdc79xDm3xDm3pLKyMo6Plx4SnXxXVxbQ3hOkvSc4dGcRERGRcSqe5HsdMM/MZptZNpEFlKv69VkF3OC9vgp42kuaVwErvd1QZgPzgJcHe5iZXQp8BbjCOdcV1V7Zt1jTzOZ4Y22PI/5xwZ/Amm+IlJ4AtHT2JiwGERERkWQ3ZPLt1XB/DngC2AI84pzbbGa3mdkVXre7gAozqyFSEnKLd+9m4BHgTeBx4GbnXAjAzB4E1gAnmtkeM7vRG+uHQBHwZL8tBd8NvGFmrxNZ1PkZ59xRCzbHK38gRF6Car4BygsiyXezkm8RERGRAWXG08k5txpY3a/ta1Gv/cDVA9x7O3B7jPZrB+g/d4D2XwO/jife8SYQChMMu8TOfHvJd0uXkm8RERGRgeiEyzSQqKPlo5Xn9818BxIWg4iIiEiyU/KdBvyBvqPlE5h8F6rmW0RERGQoSr7TwOGZ78T9OAuyM8jO8NGk5FtERERkQEq+00Bf8p2XwJlvM6OsIEsz3yIiIiKDUPKdBvzBSNlJTgKTb4hsN9isBZciIiIiA1LynQb8vYmf+YbIdoOa+RYREREZmJLvNNCdBDXfENluUDPfIiIiIgNT8p0G/MEQPoPsjMT+OMvzNfMtIiIiMhgl32nAHwiRk5mBmSU0jvKCbA52BwiFXULjEBEREUlWSr7TgD8QTnjJCUSSb+fgoEpPRERERGJKfMYmx8wfCCV8sSXoiHkRERGRoSj5TgP+QCjh2wyCjpgXERERGYqS7zTgD4STZOY7C4BmLboUERERiUnJdxroDoTITYLku1xlJyIiIiKDUvKdBvyBUFIsuCw7VHai5FtEREQklsRnbHJMws7REwwnxcx3blYGBdkZSr5FREREBqDkO8X1BMIASZF8Q2THEx20IyIiIhKbku8U5/eOls9LgrITiNR964h5ERERkdiSI2OTEev2ku+czCSZ+dYR8yIiIiIDUvKd4vxBb+Y7OzmSb818i4iIiAxMyXeK8/cmWc13fjYtOmRHREREJCYl3ymub+Y7NzM5fpTlBVl09ATp8eISERERkcOSI2OTETu84DI5Zr7LC3IANPstIiIiEoOS7xTXl3znJE3yrSPmRURERAai5DvF+QNhsjN8ZPgs0aEAh0+51BHzIiIiIkdT8p3iupPkaPk+5QU6Yl5ERERkIMmTtcmI+AOhpNnpBCInXIJmvkVERERiUfKd4pIt+S7Ni9R8N3Uo+RYRERHpL67k28wuNbOtZlZjZrfEuJ5jZg9719ea2ayoa7d67VvN7JKo9rvNrMHMNvUbq9zMnjSzd7z/LfPazcy+7431hpktHumHTif+QDipyk4yM3yU5GVp5ltEREQkhiGzNjPLAO4ALgMWANea2YJ+3W4EWpxzc4HvAt/07l0ArAQWApcCd3rjAdzjtfV3C/AX59w84C/ee7znz/O+bgJ+FN9HTG/JNvMNUFGQrZpvERERkRjimTJdCtQ457Y753qBh4AV/fqsAH7hvX4UWG5m5rU/5Jzrcc7tAGq88XDOPQs0x3he9Fi/AK6Mar/XRbwElJrZlHg+ZDpLxuS7rCBbM98iIiIiMcSTfE8Ddke93+O1xezjnAsCrUBFnPf2N8k5t98baz8wcRhxjCvOOfyBcNIcsNOnLD+bZh2yIyIiInKUeJLvWBtIuzj7xHNvvOIay8xuMrP1Zra+sbFxhI9KDYGQI+Rc0s18lxdk0aKyExEREZGjxJN87wFmRL2fDuwbqI+ZZQIlREpK4rm3v/q+chLvfxuGEQfOuZ8455Y455ZUVlYO8ajU5g9GTrdMpgWXECk7ae7qxbmR/p4lIiIikp7iydrWAfPMbLaZZRNZQLmqX59VwA3e66uAp10k81oFrPR2Q5lNZLHky0M8L3qsG4DfRbV/zNv15Cygta88Zbzy9/Yl30k2852fTW8wTKcXn4iIiIhEZA7VwTkXNLPPAU8AGcDdzrnNZnYbsN45twq4C7jPzGqIzHiv9O7dbGaPAG8CQeBm51wIwMweBC4AJpjZHuDrzrm7gP8EHjGzG4FdwNVeKKuB9xFZtNkFfGI0vgGpzB8MA5CbmVzJ96GDdjp7KcwZ8p+YiIiIyLgRV2bknFtNJPmNbvta1Gs/h5Pk/vfeDtweo/3aAfo3ActjtDvg5njiHS/8gcjMcl6SlZ1URB0xP6M8P8HRiIiIiCSP5MraZFi6veQ7J8nKTvpmvpu13aCIiIjIEZR8p7DDM9/JlXyX5x8uOxERERGRw5R8pzB/wKv5TrLkuyyq7EREREREDlPyncL8gRA+g6yMWFugJ05xbiYZPlPyLSIiItKPku8U1ne0vFlyJd9mRlm+jpgXERER6U/JdwrrS76TUXlBlma+RURERPpR8p3C/IFw0i227FNekE1LZyDRYYiIiIgkFSXfKaw7ECInyfb47lPuHTEvIiIiIoclZ+YmcfEHQkk7812Wn62tBkVERET6UfKdwpK75juy4DIcdokORURERCRpKPlOYf5gmNzM5PwRluVnE3bQ2q26bxEREZE+yZm5yZCCoTC9wTC52ck78w06Yl5EREQkmpLvFNXuDwKQm5ncybfqvkVEREQOU/KdovqS72RdcFmuI+ZFREREjqLkO0W1+SO11LlJutVgWd/Mt8pORERERA5JzsxNhnQ4+U7Sme/8vplvLbgUERER6aPkO0W1dXs130mafOdlZ5Cb5aO5syfRoYiIiIgkDSXfKao9yWe+ITL7rZlvERERkcOUfKeotiRfcAmRum/VfIuIiIgcpuQ7RbV5h9fkJOmCS4jseKLdTkREREQOS97MTQbV7g+Sk+nDZ5boUAZUrplvERERkSMo+U5Rbf5AUtd7Q+SIec18i4iIiBym5DtFtfsDSbvHd5/ygmza/UECoXCiQxERERFJCsmdvcmA2rqDyT/zrSPmRURERI6g5DtFtfcEyM1M7uT70EE7qvsWERERAZR8p6y27iB52cmdfJcVZAGo7ltERETEo+Q7RbX5A+RkJvePr6IgB4AWHbQjIiIiAij5TknOOdr9waQ+YAeiZr5VdiIiIiICKPlOSV29IUJhl/wLLvO14FJEREQkWlzJt5ldamZbzazGzG6JcT3HzB72rq81s1lR12712rea2SVDjWlmz5nZa97XPjN7zGu/wMxao6597Vg+eCpr946WT/bkOyvDR1Fupmq+RURERDyZQ3UwswzgDuBiYA+wzsxWOefejOp2I9DinJtrZiuBbwLXmNkCYCWwEJgKPGVmJ3j3xBzTOXde1LN/Dfwu6jnPOecuH+mHTRdt/kgNdbLv8w06Yl5EREQkWjzZ21Kgxjm33TnXCzwErOjXZwXwC+/1o8ByMzOv/SHnXI9zbgdQ44035JhmVgS8B3hsZB8tfbV19yXfyT3zDZHSEx0xLyIiIhIRT/I9Ddgd9X6P1xazj3MuCLQCFYPcG8+YHwT+4pxri2o728xeN7M/mdnCOGJPS31lJ8m+4BI08y0iIiISLZ7k22K0uTj7DLc92rXAg1HvXwFmOudOA37AADPiZnaTma03s/WNjY2xuqS8vrKTnBQpO9GCSxEREZGIeLK3PcCMqPfTgX0D9TGzTKAEaB7k3kHHNLMKIqUpf+xrc861Oec6vNergSwzm9A/WOfcT5xzS5xzSyorK+P4eKmnL5nNzx6yZD/hyguytdWgiIiIiCee5HsdMM/MZptZNpEFlKv69VkF3OC9vgp42jnnvPaV3m4os4F5wMtxjHk18AfnnL+vwcwme3XkmNlSL/am4X3c9FDf3kOmz8hP8hMuIVLz7Q+E6e4NJToUERERkYQbcurUORc0s88BTwAZwN3Ouc1mdhuw3jm3CrgLuM/MaojMeK/07t1sZo8AbwJB4GbnXAgg1phRj10J/Ge/UK4CPmtmQaAbWOkl+ONOfZufiUU5+CxW9U5yKfcO2jnQ0cOM8vwERyMiIiI9ytc2AAAgAElEQVSSWHHVLXhlHqv7tX0t6rWfyGx1rHtvB26PZ8yoaxfEaPsh8MN44k13DW09TCrJTXQYcamuLARgy/42Jd8iIiIy7iX/ij05Sl2bn0lFqZF8nzythKwM45VdBxMdioiIiEjCKflOQfVtfiYV5yQ6jLjkZmWwYGoJr9S2JDoUERERkYRT8p1iunqDtPuDKVN2AnBGVRlv7D1IIBROdCgiIiIiCaXkO8U0tPUApEzZCcDimaX4A2G27G8burOIiIhIGlPynWLq2iK7L04qTqHku6oMgA0qPREREZFxTsl3iqk/lHynRs03wNTSPKaU5GrRpYiIiIx7Sr5TzKGykxSq+YbI7LcWXYqIiMh4p+Q7xdS1+cnLyqAoJ/mPlo+2qKqUvQe7D83ci4iIiIxHSr5TTN82g5YCp1tGO2NmpO5bs98iIiIynin5TjENbT0ptdiyz8KpJWRn+nhll5JvERERGb+UfKeY+nZ/Sibf2Zk+Tp1Woh1PREREZFxT8p1CnHPUtabO6Zb9LZ5Zxqa9bfQEQ4kORURERCQhlHynkLbuID3BcErOfAMsriqlNxRm8z4dtiMiIiLjk5LvFFLfnnoH7ETrO2xHiy5FRERkvFLynULqWlM7+Z5YnMv0sjwtuhQREZFxS8l3CknF0y37W1xVxobaFpxziQ5FREREZMwp+U4hDe3e6ZYpOvMNkf2+69t62Neqw3ZERERk/FHynULq2/yU5GWRm5WR6FBGTHXfIiIiMp4p+U4hqbzNYJ+TphSRm6XDdkRERGR8UvKdQurbU/N0y2hZGT5Om16qmW8REREZl5R8p5CGttQ83bK/xTPL2LyvDX9Ah+2IiIjI+KLkO0WEwo6G9p6ULzuBSN13MOzYuLc10aGIiIiIjKnMRAcg8Wnq7CEUdukx811VCsBdz+3gnfqOIft/ZFnV8Q5JREREZExo5jtFNLSl/jaDfSoKc6goyGZXc1eiQxEREREZU5r5ThGHD9hJzuT7gbW7htW/qjyfdxo6cM5hZkdcC4bDZPr0e6GIiIikHyXfKaIuDU63jFZVkc+ruw/y+zf24w+EaPMHaO8O0uYP0BMMc/qMUlacPpWczNTd01xERESkPyXfKaK+rQczqCxMj+R7bmUhGT5j/c5minIzKc7NYlJJLvMmFRIKO17e0czeg91ct1T13iIiIpI+lHwnmYHKN16sOUBhdiaPrN8zxhEdHxWFOXz98gVk+OyoshOAhVNLeHj9bu58ZhuzKwtYcfq0BEQpIiIiMrpUWJsi2vwBivLS63elzAxfzMQbYO7EQj5/4VymlubyxYde419+u1H7gouIiEjKiyv5NrNLzWyrmdWY2S0xrueY2cPe9bVmNivq2q1e+1Yzu2SoMc3sHjPbYWaveV+ne+1mZt/3+r9hZouP5YOnmnZ/kOLcrESHMaaK87K48dw5fPr8Ody/dhdX/fhF9rRohxQRERFJXUMm32aWAdwBXAYsAK41swX9ut0ItDjn5gLfBb7p3bsAWAksBC4F7jSzjDjG/Efn3One12te22XAPO/rJuBHI/nAqaqtOzDukm+ADJ9x62Xz+enHlrDzQBf//NtNiQ5JREREZMTimfleCtQ457Y753qBh4AV/fqsAH7hvX4UWG6ReoIVwEPOuR7n3A6gxhsvnjH7WwHc6yJeAkrNbEoc8ae8YDhMZ28o7cpOhuPiBZP4zPlzePbtRrbWtSc6HBEREZERiSf5ngbsjnq/x2uL2cc5FwRagYpB7h1qzNu90pLvmlnf9h7xxJGW2v1BgHE58x3tumUzyc3y8bPntic6FBEREZERiSf5jrUizsXZZ7jtALcCJwFnAuXAV4YRB2Z2k5mtN7P1jY2NMW5JPe3dAUDJd1lBNlefMYPfvbaPhnZ/osMRERERGbZ4ku89wIyo99OBfQP1MbNMoARoHuTeAcd0zu33Skt6gJ8TKVGJNw6ccz9xzi1xzi2prKyM4+Mlv7a+me9xXHbS58ZzZxMIh7n3xdpEhyIiIiIybPEk3+uAeWY228yyiSygXNWvzyrgBu/1VcDTzjnnta/0dkOZTWSx5MuDjdlXx+3VjF8JbIp6xse8XU/OAlqdc/tH9KlTTJs/MvNdNM5nvgFmTSjg4vmT+OXaWrp7tfWgiIiIpJYhk2+vhvtzwBPAFuAR59xmM7vNzK7wut0FVJhZDfAl4Bbv3s3AI8CbwOPAzc650EBjemPdb2YbgY3ABOAbXvtqYDuRRZs/Bf7umD55CmnrDpJhRn62jloH+Nt3z+FgV4BHX0mPA4dERERk/IirjsE5t5pI8hvd9rWo137g6gHuvR24PZ4xvfb3DDCOA26OJ9500+4dsOMb4ECa8WbJzDJOm1HK3c/v4LqlVfh8+r6IiIhIatAJlymgzT8+9/geiJnxt+fNZseBTp7aUp/ocERERETipuQ7BbR1BynK1WLLaJcunMy00jx+9tyORIciIiIiEjcl3ymgzR+gOE8z39EyM3x84l2zeHlnM6/vPpjocERERETiounUJNcTDNETDI/rspMH1u6K2e4zIyfTx1cf28S1S6sOtX9kWVXM/iIiIiKJppnvJNfe3Xe6pX5P6i83K4Ols8rZvK+Vlq7eRIcjIiIiMiQl30lOe3wP7uzqCgCefLOeYCic4GhEREREBqfp1CSn0y0HV5qfzblzK3n2nUZ2N3dxxelTEx2SiIiIyIA0853k2r2Z7/Fc8z2US0+ezCfeNQuAn7+wk5sfeIW6Vn9igxIRERGJQcl3kmvrDpCd4SMnUz+qwcybWMQXl8/jovmTeOrNepZ/+xl+9tx2laKIiIhIUlFGl+Ta/EGK8zIxnW45pMwMH+85aSJP/v35LJ1dzjf+uIXl3/kfvvX4W2zc00rkkNSxsb+1+1C9voiIiEgfFRInuTZ/QIsth+n5mgNcNH8S00rzWLO9iR//zzbufGYbZflZLJxawsKpxcwoz8fn/UIz2lsT9gRDXPHDF1g6q5w7rls8qmOLiIhIalPyneTaugNUlecnOoyUY2YsmFrCgqkldPYEeauujU1721izvYnnaw4woTCbvz1vznH5xWb1xv00tvfw1JZ6OnuCFOTo/2YiIiISobKTJOaco90f1GLLY1SQk8kZM8u54ZxZ/Mv75nP1GdNp7Q7w4Mu7CYVHvxTl3jW15Gdn0BMM88zWxlEfX0RERFKXku8k1h0IEQw7HS0/inKzMlhUVcYHF01jZ1MnT2yuG9XxN+1t5dVdB/n7i05gQmE2qzftH9XxRUREJLUp+U5ibd7plkU63XLUnT6jjLPmlPN8zQFWbxy9BPneNTvJy8rgw2fO4JKFk/nrWw34A6FRG19ERERSm7K6JNamPb6Pq/edMoW9Ld38469e54RJRcydWDjkPQ+s3TXgta7eIL95ZS+Lqkr54xv7ycnMoKs3xP+83cglCyePZugiIiKSojTzncQOHbCjspPjItPn4yPLZpKblcFnfrmBzp7gMY23obaFYNhx1pzIkfezJxRQlp/Fn0ZxZl1ERERSm5LvJNZ3tLzKTo6fkrwsfnDtIrY3dvCVX78x4r3Aw86xdkczM8vzmVKSB0CGz3jvgsk8taWBnqBKT0RERETJd1JrbO+hODeTrAz9mI6nc+ZO4MuXnMgf3tjPz1/YOaIxaho6aO7sPTTr3eeyUybT0RPk+XcOjEKkIiIikuqU1SWx2qZOZmiP7zHx2fOruXjBJP7P6i089ureYd//0vYmCnMyWTit+Ij2c6onUJybyeqNo7urioiIiKQmJd9Jqt0foKUrwEwl32PCzPjOh0/jjJll/K+HX+N7T70TdwlKc2cvW+vaOXNWGZm+I/8vlZ3p46IFk3jyzTp6g+HjEbqIiIikECXfSWpXcxcAVRUFCY5k/CjKzeK+G5fxN4um8d2n3uYffvV6XAnzyzuaMIOlsytiXn/fyVNo8wdZs71ptEMWERGRFKPkO0ntauoiw2dMLclNdCjjSnamj29/+DT+/qIT+M0re/nY3Wtp7QoM2D8QCrO+toX5U4opGWBXmnPnTaAwJ1O7noiIiIiS72RV29zFtNI8MrXYcsyZGV+8aB7fveY0Xqk9yAd/9AK7mrpi9t24p5Wu3tBRCy2j5WZlsHz+RJ7YXEcwpNITERGR8Ux72CWhYCjM3oPdnDNIQifH3wcXTWdqSR6f/uUGrrjjeU6fUUpDWw+ZGUamz0dmhlHT0EFlUQ5zJgxeHnTZyVP43Wv7WLujmXfNnTBGn0BERESSjaZVk9C+g92Ewo6qCi22TLRlcyr4zWfPYdGMUpo7e2nu7GVvSzfbGzvYvK+N7t4QF5xQiZkNOs75J1SSl5XBnzap9ERERGQ808x3EqrtW2ypnU6SwpzKQn7+iaXA4MfLDyYvO4P3nDSRxzfV8+9XnEyGb/BkXURERNKTZr6T0K7mLsrysyjK1bHy6eSyUyZzoKOH9TubEx2KiIiIJEhcM99mdinwPSAD+Jlz7j/7Xc8B7gXOAJqAa5xzO71rtwI3AiHgC865JwYb08zuB5YAAeBl4NPOuYCZXQD8DtjhPfY3zrnbRvaxk5dzjl1NXVRPLEx0KOPGSGezh+vCEyeSk+njT5vqWHaM9fwHOnr43lPv8OX3nkhJvn5JExERSRVDJt9mlgHcAVwM7AHWmdkq59ybUd1uBFqcc3PNbCXwTeAaM1sArAQWAlOBp8zsBO+egca8H7je6/MA8CngR97755xzl4/84ya/g10B2nuCKjlJQwU5mVxwYiV/3Lifr75/fsydbOL9ReD3b+xjzbYminIz+adLTxrtUEVEROQ4iafsZClQ45zb7pzrBR4CVvTrswL4hff6UWC5RVagrQAecs71OOd2ADXeeAOO6Zxb7TxEZr6nH9tHTC2q905vH1w0jcb2Hl7cNvIDd9r8AdbtaCYrw7h3TS0Hu3pHMUIRERE5nuJJvqcBu6Pe7/HaYvZxzgWBVqBikHuHHNPMsoCPAo9HNZ9tZq+b2Z/MbGEcsaecXc2dZGf6mFSsw3XS0QUnTqQ4N5PHXt074jGee7uRsHP88COL6egJ8vMXdo5egCIiInJcxZN8x9qWwcXZZ7jt0e4EnnXOPee9fwWY6Zw7DfgB8FjMYM1uMrP1Zra+sbExVpektqu5i+lledoNI03lZmXw/lOn8PjmOrp6g8O+v90f4OWdzZw+o5RLFk7mvQsm8fMXdtDuH/gUThEREUke8STfe4AZUe+nA/sG6mNmmUAJ0DzIvYOOaWZfByqBL/W1OefanHMd3uvVQJaZHXVaiXPuJ865Jc65JZWVlXF8vOTR2ROkrtXPTJWcpLUPLppOV2+IP2+uH/a9z79zgGDIccGJEwH4/Hvm0eYPcu+a2tEOU0RERI6DeJLvdcA8M5ttZtlEFlCu6tdnFXCD9/oq4GmvZnsVsNLMcsxsNjCPSB33gGOa2aeAS4BrnXOHzuI2s8leHTlmttSLfeSFs0no9T0HCTuoKh/8tERJbUtmljGtNI/fDrP0pKMnyEs7mjhtRikTCnMAOGV6CReeWMnPnttOZ8/wZ9JFRERkbA2ZfHs13J8DngC2AI845zab2W1mdoXX7S6gwsxqiMxW3+Lduxl4BHiTSO32zc650EBjemP9GJgErDGz18zsa177VcAmM3sd+D6w0kvw08YrtS2AFlumO5/PuHLRVJ57p5GGdn/c971Q0zfrfeRfdD6/fB4tXQF++ZJmv0VERJJdXPt8e2Ueq/u1fS3qtR+4eoB7bwduj2dMrz1mTM65HwI/jCfeVLWhtoWJRTnkZWckOhQ5zj64aBp3/HUbv399PzeeO3vI/l09QdZsb+KU6SVMLDpyMe7iqjLOmzeBnz63nY+dPUv/fkRERJKYTrhMEuGw49XdBzXrPU7MnVjEKdNK4t715PltB+gNhrnQq/Xu7/PvmceBjl4efHlsDgwSERGRkYlr5luOv+0HOjnYFVDyPY5cuWga//sPb1LT0M7ciUUD9uvuDbFmWxMnTy0ecAvKpbPLWTa7nP9+dhsfWVZFbtaxzX4P99TPjyyrAiIntHpLM0RERCQGzXwniUP13hVKvseLK06bSobPhlx4+cK2A/QEw1x4UuxZ7z5fWD6P+rYefrVhz2iGGZfXdx/kk/es47R//zO1TZ1j/vzjras3yCXffZZVr/ff6ElERGR4NPOdJDbUtlCan3VoFwtJf5VFOZw7dwKPvbqPf7j4RHwx9nbv7g3x4rYDLJhSzJSSvEHHO6e6gsVVpfz4mW1cs2QG2ZnH/3frPS1dPP1WA2/VtVOSl0VPMMx3n3yb/7dy0XF/9miId4Z/Q20LW+vbufOvNXzg1Cma3RcRkRHTzHeS2LCrhUUzSvHpP+rjygcXTWPvwW7W7Ww+6lq7P8B9L9XiDww96w1gZnx++Tz2Huzmrud3HI9wD9nb0s29a3Zy5zPbqG3q4svvPYHnv3IhN547m9+9vo8397Ud1+ePtfW1zfgM3qprZ733VyoREZGR0Mx3EjjY1UtNQwdXnj410aHIGHvvwknkZ2fw2Gt7WTan4lD7zgOdPLhuF/5AiKvPmM600sFnvftccEIl7ztlMv/3z1tZXFV6xJij5YWaA/xx435ys3xcNH8S51RX8Elvx5ZPv7uaX75Uy//981bu/viZo/7sRGhs76G2qYv3nDSRdTubuW9NLWfOKk90WMfVSGv+RURkaJr5TgKv7j4IwOKZZQmORMZafnYmly6czB/e2I8/EMI5xws1B/jZ89vJzvDxmfOrWVQV/78LM+ObHzqVqvJ8Pvfgq8PaRzwebd0BnnyznhMmFfJPl5zEe06aeMTizpL8LD57wVyefqsh5mx+KtpQ24LPYNnscj60eDp/2rSfAx09iQ4roQ529fLXrQ30BsNDdxYRkSMo+U4Cr9S2kOEzTptemuhQJAGuXDSNdn+QP7yxn4fW7eaPG/dz4uRibr5w7pB13rEU5Wbxo+sX0+4P8IUHXyUYGr0E6YnNdYSc44rTpg24o8rHz5nFxKIcvvmnt0j1c7BCYceru1o4cVIRRblZXH/WTAIhx8Prdic6tIR67LW9PPlmPXe/sIPu3lCiwxERSSlKvpPAmm1NLJhSTEGOqoDGo3fNnUBlUQ5f/tXrbNrbyiULJ3PdMW4XeNLkYm6/8hRe2t7Md558e1Ti3N3cxau7D/Ku6gmUF2QP2C8vO4MvLJ/H+toW/rq1YVSenShv17fT3hNkiVdmMndiIedUV/DA2l2Ewqn9i8VIvV3fztv1HSycWszelm5++tz2Uf8Li4hIOlO2l2DNnb28squFz104N9GhyHEQb+3sadNLWLujmQ8vmUF1ZeGoPPtDZ0xnfW0zdz6zjcVVZVy0YNKIx3LO8ceN+ynMyeTCfsfbx3LNmTP46XPb+dbjW7nghIkxd3JJBet3NlOUk8kJkw7vw/7Rs2by2ftf4ZmtDSyfP/LvaSoKhR2rN+6noiCba86cwY4Dndz/0i6u/vEafnnjMmbonAIRkSFp5jvB/vpWA2HHMSVGkvouPHEit1x60qgl3n2+/oGFnDytmC898hq7m7tGPM7re1rZ1dzFexdMIieOGfmsDB//8N4Teauund+/kZp7Y7f5A2ytb2dRVRkZUb88XLRgEhOLcrjvpdoERpcY63Y209Dew6UnTybT52PexCI+ee5sDnYF+NCPXmRrXXuiQxQRSXqa+U6wp7bUM7Eoh5OnliQ6FEmgkewbHe+s+qULp/DDv77DZ+/fwKOfOWfY5Sy9wTBPbK5jamnusBYFX37KFH78zDa+/ee3uezkKWOy7/hoenXXQcIOlvT7zFkZPq5dWsX3n36H2qZOZlYUJCjCsdXdG+KpLfXMnlDAginFh9qryvN55NNn89G71vLh/17DPZ84c1iLhEVExpvU+q9hmukJhnj27UaWz5+Usn+Wl+RXXpDN1WfMYNPeNj7/4Kv4A8NbIPfsO420dgd4/ylTh7UPvc9n/OOlJ7KruYuH1w1v67pEc86xobaZmRX5TCg6+uCra5dW4TMb9pZ8qeyZrQ1094Z4/ylHHzJ04uQifv3ZcyjNz+K6n61le2NHgqIUEUl+Sr4T6KXtzXT2hrho/tAHqIgci/lTirltxUKe2lLPdT9by8Gu3rjuO9jVy7NvN3LKtBJmTxj+DO8FJ1SydHY533+6hjZ/YNj3J0ptUxcHOnpZMjP2ft6TS3J574JJPLJ+97B/mUlFTR09vLiticVVZUwdYM/5GeX5PHTTWQRDjnte3Dm2AYqIpBAl3wn0ly315Gb5eNfcCYkORcaBj509izs+spiNe1v50I9eZE/L0DXgj2+uA+DSkyeP6Jlmxi2XnURzZy9X/vAF3qpLjZMv19e2kJPp45RpA5eDXX/WTFq6AqzeuH8MI0uMxzfXkeEzLh5ibcqUkjwuP3UKv3llLx09wTGKTkQktSj5ThDnHE+9Wc+5cyuPaUs5keF43ylTuO+TS2lo7+FDP3qRLfsHToZrGjp4Y08r582rpCx/4K0Fh7K4qoz7P7WM9p4gV97xAo9u2DPiscaCPxBi496DnDq9ZNA69XOqK5hTWZD2Cy93HOhk87423n3CBIrzsobsf/3ZM+noCfLYq3vHILqR6wmG+N1re8fFXy5EJLlowWWCbNnfzr5WP1+8aF6iQ5FxZtmcCh79zDnccPfLfPjHa/jvj53BOdUTaO0OsGbbAZ595wCPb6qjubOXkrwszj9h6K0Fh3LWnAr++IVz+eKDr/HlX73Ouh3N/PuKhUn5i+fGPa0EQm7AkpM+Zsb1y2Zy2x/eZNPeVk4eZJY8VYVdZGvBkrwszp0b37+DRTNKWTi1mPvW1HLdsqoRLSY+FvHW4f/21T2s29nCjefO5l8vX3CcoxIROUzJd4I8taUegAtPUr23jL0TJxfxm787h4///GU+fvc65k8tZuOeyO4eBdkZzCjP513VFSycOvjsb594E573nzqFnCwfD6/fzRt7W7nzusUjqiU/ntbXNjOxKIfpZUOfLvqhM6bzX09s5SfPbuf71y4ag+jGTijseGZrA3sPdvPhJdPj3q3GzPjY2TP5yq83sm5nC0tnD/5LTCKs29HMup0tTCvN454Xd3LVGdOZH7WDi4jI8aSykwT5y5Z6Tp9RysSi3ESHIuPU1NI8fvXpc3jPSRPxGXzuwrk88umzee3r7+VjZ8/i7Or4ygyGw2fGexdM5uefOJP9rd184AfPc/MDr/DNx9/igbW7eP6dA+xq6iIQCg9rXH8gNCrlA9saO9jd0s2SWeVxzdiW5GXxqfNms+r1fazZ1nTMz08Wu5u7+NEzNfzlrQYWTCnm1Omlw7r/itOmUZSbmZQlObubu1j1xj7mTSzk958/l5K8LL762CbC4/TEUhEZe5r5ToD6Nj+v72nly+89IdGhyDgy0Oz0u6PKSmoaOqhpOP7bxO0/6Oem8+aweuN+XtrWxOMb6wi5w8mPz6A0P5uKgmzOqa5gZkUBsycUMLMin0DIsbW+nXfq29la1847DR3UNnWSn53JJ941i0+dO4eS/OH/0nCwq5cHX95FZVEOZ86Kf5/qv7tgLr99dS//+rtNrP7CeSm3n3m01u4A//XEW9z/0i4KczNZeeYMTplWMuzSkbzsDK4+Ywb3vbSThvb5STPJ0O4PcP/aWopzM7nmzBmUF2Rzy2Un8U+PvsGjr+zhw0tmJDpEERkHlHwnwNNvNQA61VLGt9L8bD6ybCYQqS1u6w7Q3Nl76Kups5emzh5+PcDOGRk+Y1ZFPidNLuIDp02lpqGdHzxdwz0v7OQT75rFjcNIwgOhMPev3UUo7PjospnkZMZfi56XncG/X7GQG3+xnrtf2MFnzq+O+95k4Zzjd6/t4xt/3EJzZw9nV1dw0fxJx1STf/1ZVdz9wg4efnk3n1+e+LUtobDjwZd30x0I8Znzq8nPjvzn76rF03lk3W7+Y/UWLp4/ibKCkS8uFhGJh5LvBHjqzXqmleZx4qSiRIcikhR8ZpTmZ1Oan82cfuv6nHN09oZo6ujhQEcvGT5jUnEOEwpzyMo4PMs8uTiX6spCaho6+P7TNfz8xZ188l2z+eS5sykZpHwmknjuZe/Bbj521syYh+oMZfn8SVy8YBLfe+odPnDaVKYNsBd2Ig30l4/u3hCPrN/N1vp2ppfl8dkL5o5K/HMqCzlv3gQeeHkXn72gmsyMxP5F4PFN+9nZ1MmHl0xnSsnhz+fzGf/7ypO5/AfP860ntvIff3NKAqMUkfEgdf8+mqK6e0M8X3OAixdMGvNdAERSkZlRmJPJzIoCzphZxukzSplSkndE4t1nSkkeP7r+DFZ/4TzOqa7ge395h3d/66/88qVaQgPU9L60o5lXdh1k+UkTOekYFt19/QMLcDhu+/3mEY8x1upa/dzxTA01DR1cfuoUPnN+9aj+4nD9WTPZ3+rnL95f+xLltd0HeWFbE+dUV3D6jKNLiuZPKeYT58zioXW7eHVXSwIiFJHxRMn3GHu+5gA9wTDLdaqlyHGzYGox//3RJfzxC+eyYEoxX31sE1fe8QL/v707j46rug84/v3NptE62i3J8irL4IXFYAxm3yEJgeQcCDY0kJYCaQiBnKQNpDlJmqQHcpI2QBJCU4eyNOCYNBQTkthmh2DwAl5ljHdblixZ+z6jmfn1j/fkykKrkSWN/Puc4zPz7tz33p35yW9+782992040HBUvT01rby0qYKTC9I/8cxDxVkp3H1pKSu2VvHaKCebg7GxvIFfvbGTzlic2y+YxrkluXiG+YLAZSfnUxQK8vTq0Rt4ub+2lec/KGdqTiqfmlvYZ717r5hJfnoS3/nfLX2eqBljzHCw5HuEvbKtirQkH2dPyxntphgz7s0pCvHM7WfzyOJ5VDV18PlH/8r9f9hEXWuEysZ2nlmzn+zUAF+YP2lYEs/bL5hOSV4q31u+ddCzrzS2dyq6lU0AABQaSURBVLJs3QFueXwN5//4VR748zb21LR+4rb0JRZ35u7+3doDFIWSueuSGUzOOT7TPfq8Hm46ezJv76xh1+HBD+Rti0T55Ws7eeSVHVQ2th/z/ssqmljy9h7Sg34WL5iE19N3jNOSfHz3mjlsrWjiv8fgLC3GmPHD+nyPoHhceXlbNRfNzEvoGRGMSSQiwrWnFXHJSXk8/PIO/uudvfx5yyFy05Kcq77nTxu2m/0EfB5+eN1cblryHo++vouCjN5n+QhHY2yrbGZzeQMfVbcQiyuTspMpyUtjyVt7+I83dnNuSQ6LF0zmyjkThjQAtD8t4ShL1+5n9+FWzpmew6dPKcDnOb7Hoi+cNYmHX9nBb9/dz3c/O3vAOeG3VTbx4qYKGto6EeChlz/islkTuOnsyVxYmtdvAt3du7treXFjBROzkrll4VTSkgb+uvv0KQVcUJrLT1ds51NzC8jvI37GGPNJWPI9gjYdbKSmJczls63LiTEjLT3o5zvXzOaG+ZP47gtbWLO3jsVnTR72BOvcGblce1oRj72+i9svnA4Kta1hZ/aWFmcGl4qGdjpjSkbQx8LpOZxaHOIfrzoJEaG6qYPn1pfz7Jr93P3sB2SnBrju9CJmFWZQnJlMcVYKhZnBXvu8d9fRGWNbZRNbDjay+WAjb+2ooaqpA48I159RzBlTBj+d4ieRnx7k6rmFPLf+AN+8qu/pVetbI7y4qYIPDzWTn57E7RdMJ5Tspy0SZdm6A6wqq6I4K5nFCyZzw5nFfcYtrsrKrVW8ueMwJxeks+isyUO6QdAPrpvL1Q+9yY2/fpclt86nJC/tmN43QE1LmEg0TtEYHIBrjBk9ojp++7bNnz9f161bN9rNOOKnK7bz6Os7Wf+dK/qczmqwdwo0xhw7VaUlHCU9OLT5wG86e/Kg6lU3dXDpv73xsSkSM4I+ctKSKAgFOaUoxOSclCPdXXpuOx5X3t5Zw7Nr9rOqrIpo/Oh50AsyghRmJuMVoTMeJxpTonElGosTicUpr28/0nc5K8VPbloSRZnJnFacSUFoeE84Bvpc1u6t44bHVpMe9DntCDltLwolk50aYPWuGl7dXo0gXDYrn3NLco9c4b7p7MlEonFWlh3it+/uZ/XuWkTg9EmZXDF7AlfOnkBJXhoiQjga4wuPrWZjeSMLpmXz2VOL+r1S3le71+2t486n19MZi/PozWdyfmku0P/xOa5KdVOYfXWt7K9to64twr7aNgBOLkjnqjkFXDlnArMLM477YPsDdW08t76c1nCUwlCQglDQfUwmPz1pwBO3RBaPK55B/jpizHATkfWqOn/AepZ8j4w3PjrMN5ZtYHpeGsvuXNhnPUu+jRm7Bpt8A7yzs4anVu8jJy1ATmoS2amBY+5uFo3HaWqPUt8Wob41QkN755FHAK8IHk/Xo+D1CDmpAYoyk5mYmUwo2X9cE77BfC5/2VLJWztqePOjwxxq6qAz5nz3CKDAnKIMPnNKIZkpR1+Y6LntXYdbeGlTJavKqth8sBGAabmpXD4rny0Hm1i9u5arZk/gwpl5A77n/tp9oK6Nv39yHTsPt/Av187hb86Z8rHjs6qyp6aVd/fUsaOqmXDUuTNrapKP80pyOHNKFh4RVpYdYt2+elShOCuZK2cXcNFJeUzMDJKXHiQj6BtyfHq2JRZXth9qZs3eWnZUOf3rfV458jl3EYEp2SmcMSWL+VOyOXNKFqX5aWM2YR3oO7GjM8buwy3sqG6hqqmDioYOPjeviDsuLGFG/rH/amHMsRjW5FtErgYeBrzAElV9sMfrScBTwJlALXCjqu51X7sfuA2IAV9T1RX9bVNEpgFLgWzgfeCLqhrpbx99GQvJd2NbJz96qYzn1pdTkpfKL246g1n9TGdmybcxJtEM5aTkGfdmRjUtYSob26lqCjM1J5WTCnq/70F/265sbOflbdWsKqti9a4aVOHz8yYyb/LgutQM1O7mjk7uWbqBVz+s5kvnTqUkLw2vx7nCvuFAA6t31VLdHCbZ72XuxAym5KQyJTuF7NQAN58z5aht1bSEebmsipVlVby9o4ZILH7ktSSfh/yMJPLTnavUJXlplOanMXNCOtNyU3s9aXvmvf10xuI0tXeyobyBdXvraWzvJCPoY/7UbM6amk1G0EdHZ5zzS3OpbGznUGMHFY0dfFjZxPp99dS2RgDnF5kzpmQxb1IWc4oymF2UQWEoOCamw+3thOdgQzsfHmpmZ3UL5fVtxBUCXg/nl+aSkxpg+cYKIrE4V8yawJ0XlXDmCHWxMmbYkm8R8QIfAVcA5cBaYLGqlnWr8xXgVFX9sogsAj6vqjeKyGzgWWABUAS8DHR1+ut1myKyDPiDqi4VkceAjar6q7720V/bRzv5frmsim8/v5na1gh3Xjidr11WOuDALku+jTFm6Do6Y0TjOqiBlV0Gc9IQiysP/GkbS97eQ2l+GnnpSazfV084GqcoM+j22c/8WFeO/rbdEo6yubyR6uYOqpvCVDd3sGZPHc0dURrdO712fTN7BHJSk8hNCxCNK62RKG2RGG3h2FEJfGl+GmdPy+akgoxBDUpVVepana4x++pa2VfbxuHm8JH9ZqX4mV2UwZyiECcXpDsnFjkp5KQGjikpj8WVlo4owYBnSAOIn3lvP3FV9tW2UVbRyNaKJhrancG4E7OSmZGfxoz8NCZnp3DLwqmAc6Lz1Dt7eXL1PhrbO1kwNZvbL5zOuSU5pA7h72O0qSrl9e1sOdjIpoONbKtswitCKMVPZnKArBQ/mSl+QinO8+zUANmpAbJSAsM2iNwMzXAm3wuB76vqVe7y/QCq+kC3OivcOqtFxAccAvKA+7rX7arnrvaxbQIPAoeBAlWNdt93X/vQft7AaCXf9a0Rvv/iVl7Y4Mwf/JPrT+OU4tCg1rXk2xhjRsZQrtgvXbOfbz+/GUE4pTjEOdNzmJSV3GciOpRtw9HH/s5YnJqWMFVuYl7dFKa2NYzf6yE14CMl4CUl4CU1yUdKwEdJXio5aUO/M2tP4c4Yh5o6mJiVTFlFE2WVTXx4qJlI9P+T/NSAl8nuFf6izGREnMQ62m3cQdcV+fq2ThranO5Rje2ddH1bh5L95KYFyEtPIi89SG5agPQkH16PB59X8Lldp3we4U+bD1FW2URLOIrPI8zIT2NOUYhZBemk9Eike37mreEoS9ce4Ddv7aaisQMRp4vSnKIQc90Ti9lFGaQl+RBx7rQrOF1zRARVRdXpzx93H1U56r12Pe+MxY/UUwXFqdv1nrt3C/OI4BVB0SMnXC9tqqSjM0Z7Z4yWcJRDjR0cbGinLeJMWeoRmJARdNsnNLRFaI30PZ1pSsBLVkqArFQnUQ8l+92k3U8o2U960E9KwEvQ7/wtJQe8JPudZb/X+fz9Xg8+j+BzHz0i7mcDguBxP6fun1lP8bgSUyUWV+LqfGbNHVHqWiLUtIadQegtzoD05o4o4WiMcDROuDN+5LlXhMJQkMLMIIUhpytdYWaQCelBkgNeAl7PmOk2NdjkezCngBOBA92Wy4Gz+6rjJs2NQI5b/m6PdSe6z3vbZg7QoKrRXur3tY+aQbyHEVPTEubqh96koa2Tey8v5SsXz7BpBY0xZgwa6sWOey+bSZLfM6iBup/kQorf66EwlExhaGRnSUnye5nizvl+anEmpxZnEosrta1h6loj1LVGqG2NUNcSYf2+eneQrJO0egRnvIGbYAb9HlICPtKDfiZkBEkJ+EgOeJlVkM7hljCHm8PUtITZXN7A4eZwn4lkwOthZkE6c4syOGlCOklDuKKbmuTjtvOnccvCKby14zCbyp0r5+/vq+fFjRXD8ZEdF12J9uzCDCZmOclmQUYQn/vrStdJRiQap7HdOcGpb3N+Malvc+JU78arob2TndUttEWcxL49EuV43kPKScydRLzrZGUwfB4h2e91Tr66kn6PMDErmUgsznt76jjU1NHnDbACPg9JPg9Bv5eg38PPF5/B6ZMyh++NDbPBJN+9nU70fPd91emrvLdstL/6g20HInIHcIe72CIi23tZb0R8/QH4+tBXy2WMnVCYT8TiOb5YPMcXi2cC2AG8NIh6N4+jeO7p57WbR6wVY8IxxXTet45DSwZnysBVBpd8lwOTui0XAz1PGbvqlLtdQkJA3QDr9lZeA2SKiM+9+t29fl/7OIqq/hr49SDe15gkIusG85OFSQwWz/HF4jm+WDzHF4vn+DNeYzqY/hBrgVIRmSYiAWARsLxHneXAre7z64FX3b7Yy4FFIpLkzmJSCqzpa5vuOq+528Dd5gsD7MMYY4wxxpiEMOCVb7d/9VeBFTjTAj6uqltF5AfAOlVdDvwGeFpEduJcjV7krrvVnb2kDIgCd6lqDKC3bbq7/BawVER+BHzgbpu+9mGMMcYYY0yiGNc32UlEInKH23XGjAMWz/HF4jm+WDzHF4vn+DNeY2rJtzHGGGOMMSPE5sAzxhhjjDFmhFjyPUaIyNUisl1EdorIfaPdHtM3EXlcRKpFZEu3smwRWSUiO9zHLLdcROQRN66bROSMbuvc6tbfISK39rYvc3yJyCQReU1EtonIVhG5xy23eCYoEQmKyBoR2ejG9F/c8mki8p4bn9+5g/1xJwT4nRvT90Rkardt3e+WbxeRq0bnHRkR8YrIByLyR3fZYpnARGSviGwWkQ0iss4tO6GOuZZ8jwEi4gV+CXwKmA0sFpHZo9sq048ngKt7lN0HvKKqpcAr7jI4MS11/90B/AqcAw3wPZybSy0Avtd1sDEjKgp8Q1VnAecAd7n/9yyeiSsMXKqqpwGnA1eLyDnAj4GfuTGtB25z698G1KvqDOBnbj3cv4NFwByc/++PusdqM/LuAbZ1W7ZYJr5LVPX0btMInlDHXEu+x4YFwE5V3a2qEWApcN0ot8n0QVXf5ONzzF8HPOk+fxL4XLfyp9TxLs489oXAVcAqVa1T1XpgFR9P6M1xpqqVqvq++7wZ5wt+IhbPhOXGpsVd9Lv/FLgU+L1b3jOmXbH+PXCZiIhbvlRVw6q6B9iJc6w2I0hEioHPAEvcZcFiOR6dUMdcS77HhonAgW7L5W6ZSRwTVLUSnIQOyHfL+4qtxXyMcX+inge8h8UzobndFDYA1ThfyruABvfmbXB0fI7Ezn29EcjBYjpWPAT8ExB3l3OwWCY6BVaKyHpx7koOJ9gxdzB3uDTHn/RSZtPQjA99xdZiPoaISBrwP8C9qtrkXCzrvWovZRbPMca9n8TpIpIJPA/M6q2a+2gxHaNE5BqgWlXXi8jFXcW9VLVYJpbzVLVCRPKBVSLyYT91x2VM7cr32FAOTOq2XAxUjFJbzLGpcn8Kw32sdsv7iq3FfIwQET9O4v1bVf2DW2zxHAdUtQF4Hac/f6aIdF1w6h6fI7FzXw/hdCuzmI6+84BrRWQvTnfMS3GuhFssE5iqVriP1Tgnxws4wY65lnyPDWuBUncEdwBnYMjyUW6TGZrlQNdo61uBF7qV3+KO2D4HaHR/UlsBXCkiWe4gkSvdMjOC3P6gvwG2qeq/d3vJ4pmgRCTPveKNiCQDl+P05X8NuN6t1jOmXbG+HnhVnRtgLAcWuTNoTMMZ8LVmZN6FAVDV+1W1WFWn4nwvvqqqN2OxTFgikioi6V3PcY6VWzjBjrnW7WQMUNWoiHwV5w/HCzyuqltHuVmmDyLyLHAxkCsi5Tgjrh8ElonIbcB+4Aa3+p+AT+MM8GkD/hZAVetE5Ic4J14AP1DVnoM4zfF3HvBFYLPbRxjg21g8E1kh8KQ7m4UHWKaqfxSRMmCpiPwI+ADnpAv38WkR2YlzlXQRgKpuFZFlQBnOrDh3ud1ZzOj7FhbLRDUBeN7t2ucDnlHVv4jIWk6gY67d4dIYY4wxxpgRYt1OjDHGGGOMGSGWfBtjjDHGGDNCLPk2xhhjjDFmhFjybYwxxhhjzAix5NsYY4wxxpgRYsm3McYYY4wxI8SSb2OMSSAi8o77OFVEbhrt9gCISJGI/H6022GMMYnA5vk2xpgEJCIXA99U1WtGuR0+VY2OZhuMMSaR2JVvY4xJICLS4j59ELhARDaIyNdFxCsiPxGRtSKySUTudOtfLCJviMgyEflIRB4UkZtFZI2IbBaRkn729YSIPCYib7nrXuOWf0lEnhORF4GV7lX4Le5rXhH5qbvtTSJyt1t+ptuO9SKyQkQKj+sHZYwxY5TdXt4YYxLTfXS78i0idwCNqnqWiCQBfxWRlW7d04BZOLfc3g0sUdUFInIPcDdwbz/7mQpcBJQAr4nIDLd8IXCqe5vnqd3q3wFMA+apalREskXED/wcuE5VD4vIjcC/An/3yT4CY4xJPJZ8G2PM+HAlcKqIXO8uh4BSIAKsVdVKABHZBXQl5ZuBSwbY7jJVjQM7RGQ3cLJbvkpV63qpfznwWFdXFDc5nwvMBVaJCIAXqDyG92iMMQnPkm9jjBkfBLhbVVccVej0DQ93K4p3W44z8PdAz4FBXcut/bSj5zoCbFXVhQPsyxhjxj3r822MMYmpGUjvtrwC+Ae3iwciMlNEUodhPzeIiMftGz4d2D5A/ZXAl0XE57Yj210nT0QWumV+EZkzDG0zxpiEY1e+jTEmMW0CoiKyEXgCeBinf/b74vTtOAx8bhj2sx14A5gAfFlVO9yuI31ZAswENolIJ/CfqvoLtzvMIyISwvnueQjYOgztM8aYhGJTDRpjjOmViDwB/FFVbQ5vY4wZJtbtxBhjjDHGmBFi3U6MMeYEJyL/DNzQo/g5Vf3SKDTHGGPGNet2YowxxhhjzAixbifGGGOMMcaMEEu+jTHGGGOMGSGWfBtjjDHGGDNCLPk2xhhjjDFmhFjybYwxxhhjzAj5Pw1IvazsGfS6AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.title(\"Distribution of item_price\")\n",
    "ax = sns.distplot(sales[sales['item_price']<5000]['item_price'])\n",
    "print('percentage :', len(sales[sales['item_price']<5000])/sales.shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "percentage : 0.9999989781490806\n"
     ]
    },
    {
     "data": {
      "image/png": "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9PQeSTrH25EjR3j88cd55plnKCws5J133rmm63zq1Cm8Xi+33norsbGxLFy4kMrKSjQaTeiYa63O5eXlNDU1sWTJEtra2nC5XKhUqrDVrTvR7LRp03pcazzV1NTg8/lCQVRRFLKysob0uz2an/9Yio6vZhEwWFLLieqOO+7g888/58yZMwQCAd58801ycnLCmqRzPF24cIG///u/Z+vWrRQWFgLXfp3Pnz/P97//fbxeL16vlz/+8Y88/PDD13Sdf/3rX/Pmm29SVlbG448/zoMPPsjmzZsjnmh2PDkcDrZs2YLH46Gjo4Pf//73/OQnP+n3cyqcv/NjagwfABhzb7zxhlJYWKgsXLhQefnll8e7OKPywAMPKOfOnVMUpevJmOLiYmXhwoVKSUmJEgwGFUVRlNraWuVv/uZvlLy8POWpp55SPB6PoiiKcv78eeXrX/+6smjRIq1l3I0AAARRSURBVOXRRx9VLl68qCiKorS2tirf/va3lYKCAuWrX/1q6Prj6Yc//KEyd+5cZfHixaF/u3btuqbrrCiK8vzzzyuLFi1SioqKlOeff15RlGv753yl//qv/wo95RWuurndbuV73/ueUlBQoCxdulT54IMPxqdyvWzbtk3Jz89XFi5cqLz66quKogz8ORWun/9YkuSQQgghwuKa7fISQggxtiSgCCGECAsJKEIIIcJCAooQQoiwkIAihBAiLCSgCNHL8ePHefzxxzl27BgbN24c7+L00F02IaKRPDYsxABef/119u7dyy9+8YvxLooQE4IEFCF6OXz4cGidCYfDwcKFC9m8eTP/8z//w0svvYTP58NgMPAP//AP3Hnnnfzrv/4rZ8+exWaz0dTUxKxZs7jnnnsoLS3l/PnzrFu3jqKioqve88EHH6SwsJADBw7gcDj41re+xYoVKzh8+DAlJSUYjUacTiff+973eO6553jzzTdxOp386Ec/4t1330Wj0fDlL3+ZJ598Ep/Px9atW6muriYQCHDbbbfx/e9/H5PJNEbvoJisrtlcXkKMhsFg4NFHH2Xv3r1s3ryZ06dPs23bNn7zm9+QlJTEp59+yre+9S327dsHdOUfKysrQ6fTkZOTQ2pqKjt37uStt97iJz/5yaABBaCtrY3/+q//wmazsXTpUu666y6gK1HmW2+9RVZWFocPHw4d//zzz+PxeCgvLycQCPDoo4/yzjvvUF1djUaj4fXXX0elUvHTn/6UrVu38o//+I8Rea+E6CYBRYghOHDgAI2NjXzzm98MbVOpVJw9exboyh0XHx8PdCUs/MIXvgDAtGnTuHjx4pDusWLFClQqFenp6XzhC1/gwIEDzJo1i4yMDLKysvocf/DgQdavX49Go0Gj0fDb3/4WgJ/85Cc4HA4OHjwIgM/nIyUlZcR1F2KoJKAIMQTBYJB7772X7du3h7ZduHABq9XKf//3fxMTE9Pj+O51KYbjynOCwWAo3brRaBzw+CtTlF+4cAGDwUAwGOSZZ54hNzcXAKfTicfjGXZ5hBguecpLiAFoNJrQet333nsvBw4cCK1N/uc//5nFixfjdrvDdr/urLn19fUcOHBg0Gyx9957L7///e8JBoN4vV4ef/xxqquruf/++9m5cyder5dgMMgPfvADfvrTn4atnEIMRFooQgxg7ty5vPDCC3z3u9/lZz/7Gf/0T//EU089haIoaLXa/7+9O8SBEIaCMDy+t8AhuAICUUFCCJyDAyBqEUgUikv0TD0Epsnq3eyazYNd8X+2ouMmL31Jte+7nHNm96WUNI6jzvNUCEFFUTz9ffFqmiYty6K+75VzVtu28t6rrmut66phGJRzVlmWmufZLCfwCVtewB9omkbbtqmqql9HAb7GhALcIMao4zjennVdd3Ma4BpMKAAAEzzKAwBMUCgAABMUCgDABIUCADBBoQAATFAoAAATD7WL9kwOmN1JAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.distplot(sales[(sales['item_price']>5000) & (sales['item_price']<50000)]['item_price'])\n",
    "print('percentage :', len(sales[sales['item_price']<50000])/sales.shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.distplot(sales[sales['item_price']<50000]['item_price'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Check some high item_price ID in both train set and test set."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Check the item_name."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{11365, 13403}"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "set(sales[sales['item_price']>40000]['item_id']).intersection(set(test['item_id']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1006638</th>\n",
       "      <td>2013-10-24</td>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>7238</td>\n",
       "      <td>42000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1163158</th>\n",
       "      <td>2013-12-13</td>\n",
       "      <td>11</td>\n",
       "      <td>12</td>\n",
       "      <td>6066</td>\n",
       "      <td>307980.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1488135</th>\n",
       "      <td>2014-03-20</td>\n",
       "      <td>14</td>\n",
       "      <td>25</td>\n",
       "      <td>13199</td>\n",
       "      <td>50999.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2143903</th>\n",
       "      <td>2014-11-20</td>\n",
       "      <td>22</td>\n",
       "      <td>12</td>\n",
       "      <td>14173</td>\n",
       "      <td>40900.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2327159</th>\n",
       "      <td>2015-01-29</td>\n",
       "      <td>24</td>\n",
       "      <td>12</td>\n",
       "      <td>7241</td>\n",
       "      <td>49782.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              date  date_block_num  shop_id  item_id  item_price  \\\n",
       "1006638 2013-10-24               9       12     7238     42000.0   \n",
       "1163158 2013-12-13              11       12     6066    307980.0   \n",
       "1488135 2014-03-20              14       25    13199     50999.0   \n",
       "2143903 2014-11-20              22       12    14173     40900.0   \n",
       "2327159 2015-01-29              24       12     7241     49782.0   \n",
       "\n",
       "         item_cnt_day  item_category_id  \n",
       "1006638           1.0                30  \n",
       "1163158           1.0                37  \n",
       "1488135           1.0                37  \n",
       "2143903           1.0                64  \n",
       "2327159           1.0                40  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales[sales['item_price']>40000].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>58283</th>\n",
       "      <td>2013-01-09</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>1148.000000</td>\n",
       "      <td>5.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58284</th>\n",
       "      <td>2013-01-10</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>2235.000000</td>\n",
       "      <td>2.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58285</th>\n",
       "      <td>2013-01-14</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>1753.333333</td>\n",
       "      <td>3.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58286</th>\n",
       "      <td>2013-01-15</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>1435.000000</td>\n",
       "      <td>2.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58287</th>\n",
       "      <td>2013-01-16</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>1930.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            date  date_block_num  shop_id  item_id   item_price  item_cnt_day  \\\n",
       "58283 2013-01-09               0       12    11365  1148.000000           5.0   \n",
       "58284 2013-01-10               0       12    11365  2235.000000           2.0   \n",
       "58285 2013-01-14               0       12    11365  1753.333333           3.0   \n",
       "58286 2013-01-15               0       12    11365  1435.000000           2.0   \n",
       "58287 2013-01-16               0       12    11365  1930.000000           1.0   \n",
       "\n",
       "       item_category_id  \n",
       "58283                75  \n",
       "58284                75  \n",
       "58285                75  \n",
       "58286                75  \n",
       "58287                75  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales[sales['item_id']==11365].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13403    Комплект \"Microsoft Xbox One 1TB  Limited Edit...\n",
      "Name: item_name, dtype: object\n",
      "11365    Доставка (EMS)\n",
      "Name: item_name, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(items[items['item_id']==13403]['item_name'])\n",
    "print(items[items['item_id']==11365]['item_name'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2468114fba8>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.title(\"Distribution of item_price over years\")\n",
    "\n",
    "price_2013 = sales[(sales['item_price']<5000) & (sales['date_block_num']<13)]['item_price']\n",
    "price_2014 = sales[(sales['item_price']<5000) & (sales['date_block_num']<25) & (sales['date_block_num']>12)]['item_price']\n",
    "price_2015 = sales[(sales['item_price']<5000) & (24<sales['date_block_num'])]['item_price']\n",
    "\n",
    "sns.distplot( price_2013 , color=\"skyblue\", label=\"price_2013\")\n",
    "sns.distplot( price_2014 , color=\"red\", label=\"price_2014\")\n",
    "sns.distplot( price_2015 , color=\"gold\", label=\"price_2015\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.3 Distribution of shop_id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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mkQSML8GlJjZcjOLB+4Cto0asw24O/Tx7cAzzjkHPAlsMLOkUCB9NXAoNlMXEREREZl+E5ZkOOcGzexTBINfL/AD59xBM/sqsMs5tw34PvCAmZUSzCzfFTq3xcy+STDodsB259xvpulrERERERGJuUhqmHHObSdYTjHysftGfNwLfGCcc39CsLWciIiIiMg5Rzv9iYiIiIiEoYBZRERERCQMBcwiIiIiImEoYBYRERERCUMBs4iIiIhIGAqYRURERETCUMAsIiIiIhKGAmYRERERkTAUMIuIiIiIhKGAWUREREQkDAXMIiIiIiJhKGAWEREREQlDAbOIiIiISBgKmEVEREREwlDALCIiIiIShgJmEREREZEwFDCLiIiIiIShgFlEREREJIy42Z6AiMhc87OdlRGP/dDWommciYiIzAXKMIuIiIiIhKGAWUREREQkDAXMIiIiIiJhKGAWEREREQlDAbOIiIiISBgKmEVEREREwlDALCIiIiIShgJmEREREZEwFDCLiIiIiIShgFlEREREJIyIAmYzu8HMjppZqZl9cYzjCWb2YOj4TjMrDj1ebGY9ZrY39OdfYzt9EREREZHpFTfRADPzAvcD1wPVwGtmts05d2jEsHuAFufcKjO7C/gGcGfo2Ann3KYYz1tEREREZEZEkmG+BCh1zpU55/qBnwO3jhpzK/Dj0McPA9eZmcVumiIiIiIisyOSgDkfqBrxeXXosTHHOOcGgTYgO3RsuZntMbPnzezKKc5XRERERGRGTViSAYyVKXYRjjkFFDnnmsxsM/ArM1vnnGs/62Sze4F7AYqKiiKYkoiIiIjIzIgkw1wNFI74vACoHW+MmcUB6UCzc67POdcE4JzbDZwAVo++gXPue865Lc65Lbm5udF/FSIiIiIi0ySSgPk1oMTMlptZPHAXsG3UmG3A3aGPbweecc45M8sNLRrEzFYAJUBZbKYuIiIiIjL9JizJcM4NmtmngCcBL/AD59xBM/sqsMs5tw34PvCAmZUCzQSDaoCrgK+a2SAwBHzSOdc8HV+IiIiIiMh0iKSGGefcdmD7qMfuG/FxL/CBMc57BHhkinMUEREREZk12ulPRERERCQMBcwiIiIiImEoYBYRERERCUMBs4iIiIhIGAqYRURERETCUMAsIiIiIhKGAmYRERERkTAUMIuIiIiIhKGAWUREREQk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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.title(\"Distribution of shop_id\")\n",
    "ax = sns.distplot(sales['shop_id'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.groupby.SeriesGroupBy object at 0x0000024681269518>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales[(sales['date_block_num']<13)].groupby('shop_id').item_cnt_day"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x24681409710>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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ERE5B5SVlTFmzBguu+wy+vfvz4IFCwB4+umnGTRoEJmZmWzfvh2AoqIibrjhBrKysrjiiivIyckBAvswT548mVGjRtG3b1/+8Ic/NDjfrl276N+/PwAVFRVMnDiRrKwsbrnlFioqKhrsl5CQwMiRIwGIiYlh0KBB5OXlAbB48WJuv/12AMaPH8+KFStwztGmTRuGDx9OXFzdR46Xlpby61//mocffvhkL1nYlDCLiIiInAOWLVtGeno6mzdvZuvWrVx77bUApKWlsXHjRu65557jK7SPPvooAwcOJCcnhyeeeILbbrvt+Dg5OTm89tprrFmzhlmzZrF///5G537uuedISEggJyeHhx56iOzs7LBiPnLkCK+++iqjR48GYN++fXTv3h2AqKgokpOTKSwsDDnGI488wg9/+EMSEhLCmrMplDCLiIiInAMyMzN58803mTFjBu+88w7JyckA3HTTTQAMHjyYXbt2AbB69erjT+8bNWoUhYWFFBcXAzBu3Dji4+NJS0tj5MiRrFu3rtG5V61axaRJkwDIysoiKyur0T5er5dbb72VadOm0bt3bwCcc3XamVmDY2zatInc3FxuvPHGRudrDt30JyIiInIO6NevH9nZ2SxdupQHH3yQq6++Ggg8xhogMjISr9cLhE5MayeooRLWprQ7ZurUqfTt25fvf//7x49169aNvXv30q1bN7xeL8XFxaSkpDQ4xpo1a8jOziYjIwOv18vBgwcZMWIEK1euPKlYGqMVZhEREZFzwP79+0lISGDSpElMnz6djRs3Ntj2qquuYt68eQCsXLmStLQ02rZtCwTqiCsrKyksLGTlypVcfvnljc5dc7ytW7cer4luyMMPP0xxcTFPPfXUCcfHjh3Liy++CMDChQsZNWpUyET8nnvuYf/+/ezatYvVq1fTr1+/Fk+WQSvMIiIiIi2vidvANceWLVu4//77iYiIIDo6mueee47x48fX23bmzJlMmTKFrKwsEhISjiepAEOHDmXMmDHs2bOHRx55hPT09Ebnvueee46PN2DAAIYOHdpg27y8PB5//HEuuugiBg0aBMC9997LXXfdxZ133snkyZPp06cPKSkpzJ8//3i/jIwMSkpK8Hg8LFq0iOXLl3PJJZeEe3maxepbkm9NQ4YMcRs2bGjtMEREzh1HwtwPtt3p/wUvcq7Ytm0bF198cWuH0WwzZ84kMTGR6dOnt3YoLa6+75GZZTvn6m4WXYtKMkREREREQgirJMPMrgX+G4gE/uice7LW+Vjgz8BgoBC4xTm3y8y+Bdxfo2kWMMg5t6klghcRERGRljNz5sw6x7Zs2XJ8R41jYmNjWbt2baPjDRs2jKqqqhOOzZ07l8zMzGbFebo1mjCbWSTwLPB1IA9Yb2ZLnHMf1Wh2J3DYOdfHzCYCPyeQNM8D5gXHyQQWK1kWEREROXtkZmayaVPT0rdwkuqzQTglGUOBXOfcTuecB5gPjKvVZhxwrFp8ITDa6t7SeCvwUnOCFRERERE53cJJmLsCe2u8zwseq7eNc84LFAOptdrcghJmERERETnLhJMw17f5Xe2tNUK2MbNhQLlzbmu9E5hNNbMNZrbh0KFDYYQkIiIiInJ6hJMw5wHda7zvBtR+qPjxNmYWBSQDRTXOTyTE6rJz7nnn3BDn3JAOHTqEE7eIiIiIyGkRzi4Z64G+ZtYL2Ecg+f1mrTZLgNuBNcB44C0X3ODZzCKACcBVLRW0iIiIyBkt3P3Pw9XEfdIzMjLYsGEDaWlpLRsPgScLTps2jYULF9Y5N2LECGbPns2QIXW3OC4vL2fChAns2LGDyMhIrr/+ep58MrABW1VVFbfddhvZ2dmkpqayYMECMjIyKCwsZPz48axfv5477riDZ5555oS58vPziY+PB2D58uV07NixRT9rowmzc85rZvcCbxDYVu4F59yHZjYL2OCcWwLMAeaaWS6BleWJNYa4Cshzzu1s0chFRCQ8q1aF126sHlwiIuFLT0+vN1kOx/Tp0xk5ciQej4fRo0fz+uuvc9111zFnzhzat29Pbm4u8+fPZ8aMGSxYsIC4uDgee+wxtm7dytatdSt8582bV29y3lLCenCJc26pc66fc+4C59zjwWM/DibLOOcqnXMTnHN9nHNDaybHzrmVzrkrTk34IiIiIgJQVlbGmDFjuOyyy+jfvz8LFiwA4Omnn2bQoEFkZmayfft2AIqKirjhhhvIysriiiuuICcnBwjswzx58mRGjRpF3759+cMf/tDgfLt27aJ///4AVFRUMHHiRLKysrjllluoqKhosF9CQgIjR44EICYmhkGDBpGXlwfA4sWLuf322wEYP348K1aswDlHmzZtGD58OHFxcc28Sk2jJ/2JiIiInAOWLVtGeno6mzdvZuvWrVx77bUApKWlsXHjRu655x5mz54NwKOPPsrAgQPJycnhiSee4Lbbbjs+Tk5ODq+99hpr1qxh1qxZ7N9f+9a1up577jkSEhLIycnhoYceIjs7O6yYjxw5wquvvsro0aMB2LdvH927B26di4qKIjk5mcLCwkbHmTJlCgMGDOCxxx4jWBXcopQwi4iIiJwDMjMzefPNN5kxYwbvvPMOycnJANx0000ADB48mF27dgGwevXq40/vGzVqFIWFhRQXFwMwbtw44uPjSUtLY+TIkaxbt67RuVetWsWkSZMAyMrKIisrq9E+Xq+XW2+9lWnTptG7d2+AepPduo/2ONG8efPYsmUL77zzDu+88w5z585tdO6TpYRZRERE5BzQr18/srOzyczM5MEHH2TWrFlA4DHWAJGRkXi9XiB0Ylo7QW0sYT3ZdsdMnTqVvn378v3vf//4sW7durF3b+DxH16vl+LiYlJSUkKO07Vr4PEgSUlJfPOb3wwrwT9ZSphFREREzgH79+8nISGBSZMmMX36dDZu3Nhg26uuuop58+YBsHLlStLS0mjbti0QqCOurKyksLCQlStXcvnllzc6d83xtm7derwmuiEPP/wwxcXFPPXUUyccHzt2LC++GHh49MKFCxk1alTIRNzr9VJQUABAdXU1//znP4/XVbekcLaVExEREZGT0cRt4Jpjy5Yt3H///URERBAdHc1zzz3H+PHj6207c+ZMpkyZQlZWFgkJCceTVIChQ4cyZswY9uzZwyOPPEJ6enqjc99zzz3HxxswYABDhw5tsG1eXh6PP/44F110EYMGDQLg3nvv5a677uLOO+9k8uTJ9OnTh5SUFObPn3+8X0ZGBiUlJXg8HhYtWsTy5cvp2bMn11xzDdXV1fh8Pr72ta/x7W9/O9xLFjY7FYXRzTFkyBC3YcOG1g5DROTcsWRSeO3G/uXUxiFyDtu2bRsXX3xxa4fRbDNnziQxMZHp06e3digtrr7vkZllO+ca3Y9OJRkiIiIiIiGoJENE5DxRVOULeX5PQeXx1wPSWmevUxFpXTNnzqxzbMuWLcd31DgmNjaWtWvXNjresGHDqKqqOuHY3LlzyczMbFacp5sSZhERERFpUGZmJps2bWpS33CS6rOBSjJEREREWsCZdl+YfKG53xutMIuI1HTk+fDatcId8CJy5oqLi6OwsJDU1NST3o9YTi3nHIWFhc16rLYSZhEREZFm6tatG3l5eRw6dKi1Q5F6xMXF0a1btyb3V8IsIiIi0kzR0dH06tWrtcOQU0Q1zCIiIiIiIShhFhEREREJQQmziIiIiEgISphFREREREJQwiwiIiIiEoISZhERERGREJQwi4iIiIiEoIRZRERERCQEJcwiIiIiIiEoYRYRERERCUEJs4iIiIhICGElzGZ2rZl9bGa5ZvZAPedjzWxB8PxaM8uocS7LzNaY2YdmtsXM4loufBERERGRU6vRhNnMIoFngeuAS4BbzeySWs3uBA475/oAvwF+HuwbBfwFuNs5dykwAqhusehFRERERE6xcFaYhwK5zrmdzjkPMB8YV6vNOODF4OuFwGgzM+BqIMc5txnAOVfonPO1TOgiIiIiIqdeOAlzV2Bvjfd5wWP1tnHOeYFiIBXoBzgze8PMNprZj5ofsoiIiIjI6RMVRhur55gLs00UMBy4HCgHVphZtnNuxQmdzaYCUwF69OgRRkgiIiIiIqdHOCvMeUD3Gu+7AfsbahOsW04GioLH33bOFTjnyoGlwKDaEzjnnnfODXHODenQocPJfwoRERERkVMknIR5PdDXzHqZWQwwEVhSq80S4Pbg6/HAW845B7wBZJlZQjCR/irwUcuELiIiIiJy6jVakuGc85rZvQSS30jgBefch2Y2C9jgnFsCzAHmmlkugZXlicG+h83s1wSSbgcsdc69doo+i4iIiIhIiwunhhnn3FIC5RQ1j/24xutKYEIDff9CYGs5EREREZGzjp70JyIiIiISghJmEREREZEQlDCLiIiIiISghFlEREREJAQlzCIiIiIiIShhFhEREREJQQmziIiIiEgISphFREREREJQwiwiIiIiEoISZhERERGREJQwi4iIiIiEoIRZRERERCQEJcwiIiIiIiEoYRYRERERCUEJs4iIiIhICEqYRURERERCUMIsIiIiIhKCEmYRERERkRCUMIuIiIiIhBDV2gGIiJxRVq0Kr93Yqac2DhEROWMoYRYRqaGoyhdWuz0FlQxIizvF0YiIyJlAJRkiIiIiIiEoYRYRERERCUEJs4iIiIhICGElzGZ2rZl9bGa5ZvZAPedjzWxB8PxaM8sIHs8wswoz2xT8+n3Lhi8iIiIicmo1etOfmUUCzwJfB/KA9Wa2xDn3UY1mdwKHnXN9zGwi8HPgluC5Hc65AS0ct4iIiIjIaRHOCvNQINc5t9M55wHmA+NqtRkHvBh8vRAYbWbWcmGKiIiIiLSOcBLmrsDeGu/zgsfqbeOc8wLFQGrwXC8z+8DM3jazrzQzXhERERGR0yqcfZjrWyl2YbbJB3o45wrNbDCwyMwudc6VnNDZbCowFaBHjx5hhCQi0rpS/zwHEqPDazxVDzkROdttKqgMu632aD/3hLPCnAd0r/G+G7C/oTZmFgUkA0XOuSrnXCGAcy4b2AH0qz2Bc+5559wQ59yQDh06nPynEBERERE5RcJJmNcDfc2sl5nFABOBJbXaLAGrxPfhAAAgAElEQVRuD74eD7zlnHNm1iF40yBm1hvoC+xsmdBFRERERE69RksynHNeM7sXeAOIBF5wzn1oZrOADc65JcAcYK6Z5QJFBJJqgKuAWWbmBXzA3c65olPxQUREREREToVwaphxzi0FltY69uMaryuBCfX0exl4uZkxioiIiIi0Gj3pT0REREQkBCXMIiIiIiIhKGEWEREREQlBCbOIiIiISAhKmEVEREREQlDCLCIiIiISQljbyomIiMgp9vzz4bfV49ZFTiutMIuIiIiIhKCEWUREREQkBJVkiIiIiIQp9c9zGm+UGB34U6Uz5wwlzCIiTbS3tDq8hnnP0v3YL9DGtNMvWBGRM41KMkREREREQtAKs4iIyJmg86qTaKz/iRA5nbTCLCIiIiISghJmEREREZEQlDCLiIiIiISgGmYRkSZo03112G3LGH4KIxERkVNNK8wiIiIiIiEoYRYRERERCUEJs4iIiIhICEqYRURERERCUMIsIiIiIhKCdskQETnF2qxZDbGR4TUeqye4iYicaZQwS4vbVFAZdtsBaXGnMBIRERGR5gurJMPMrjWzj80s18weqOd8rJktCJ5fa2YZtc73MLNSM5veMmGLiIiIiJwejSbMZhYJPAtcB1wC3Gpml9Rqdidw2DnXB/gN8PNa538DvN78cEVERERETq9wVpiHArnOuZ3OOQ8wHxhXq8044MXg64XAaDMzADO7AdgJfNgyIYuIiIiInD7h1DB3BfbWeJ8HDGuojXPOa2bFQKqZVQAzgK8DKscQkfNWUZUvrHZ7CipbtLZ/V4mH1MhkknzFLTamiMj5JpwVZqvnmAuzzU+A3zjnSkNOYDbVzDaY2YZDhw6FEZKIiDSmsNLL/B0lPN/5v1iTNBqf7vMWEWmScP72zAO613jfDdjfQJs8M4sCkoEiAivR483sF0A7wG9mlc65Z2p2ds49DzwPMGTIkNrJuIiINEFusQeAblU7ebvd9XyQMIwvF7xCj3JVyImInIxwVpjXA33NrJeZxQATgSW12iwBbg++Hg+85QK+4pzLcM5lAE8BT9ROlkVE5NT4tNhDx/hIbin4H24+9HsMx7L0u1nW5T8pju7Q2uGJiJw1Gk2YnXNe4F7gDWAb8Dfn3IdmNsvMxgabzSFQs5wL3AfU2XpOREROnwqvn31lXvq0jQGgd+V2xu/5GVcU/IP8+Av4e48H2Z1waStHKSJydgiroM05txRYWuvYj2u8rgQmNDLGzCbEJyIiTbCjxIMD+iTHHD8WiY+sI2/R5+h6FnZ/kJ2JA+mp8gwRkUaF9eASERE5u+QWe2gTZXRJqLsukuA7SqpnP0diOrVCZCIiZx/dMi0i0hDzEpVQRFTCIaLaHCIqvoiqwr5UHMxs7chC8vkdO0uqubh9DMEt8cHvSPjjBqoHdqF6cFfaeT7nk6ShOOrf5khERL6ghFlEpJbYlE+JabebqPgiLMIPgLcyGV9VMvGdPsRfnUDV4QtaOcqG7S2txuN3J5RjsPQT4pbnErmvJJAwVx+gOjKe8si2tPGVtF6wIiJnASXMIiI1RMSW0KZrNt6KZCoL++Et64C3PA3niwX8JGa8Q0LXDfiqE/CWdmntcOv1aYmHKIOMpGDCfKAU/vwBLiqCqO2HoLyadvEHADgS05k2FUqYRURCUQ2ziEgNMW0DDzY9uuurvOqe4u3Y7+L3xQbPRlC658v4KpNJ6vEukbFHWi/QBjjnyC320DMpmugIA+fg2bVgRtndQzGfI3rrAdp5gglztOqYRUQao4RZRKSGmOS9VJelsjP2S+xMGszWdiP5oP01XzTwR3N011U4fzSJGW9jURUnP4lzga9ToKDSR7HH/0U5xgsvwObP4Y6BeL7cA398NNEf7CfBV0y0v0I3/omIhEElGSIix3h2EBV/hLL8gaxLHUv7qnxSq/ayIfUbtK0uoE9pNgDOm8DRXVfRtvcKkjJWUbJzFPijGx0+cs8RYt7dQ8x7uyEiguInr4b4xvudjGNP9+vTNgb27YP77oP+HeGavlDtx5vViehN+ZhztPMcVMIsci478nx47dpNPbVxnAO0wiwicszRlwH40H8jxTEdGVa4mK8efIkuFZ/ydsdv8Xlcr+NNfZXtKd3zZSLjjpDYfQ3gr3fIiIOlxP3jI9pOf53k6cuIW7wNf1obIj4/SsJLOS3+EXJLPHSOjyIpOgLuvhuqq+HeKyAisBeGZ2AXIgsriNxbTDvPAZVkiIiEQSvMInKicFck4NxblTj6MtXlqbzXdhJdyj+he/mHGPD1/D+yuNsPWd7l29yw99e09RYAUF2aTvn+wbTpuoE23d+nLG8YuMjAWJVe2ryQTezKzwJtL0yj7D8G4/lSd1xyHAlzsol941MOjrycxF71J9snq6w68HS/4Z0T4KWX4J//hF/9CrpsPN6mekDgRsXoD/Jpd9nnfNp2KB6LJcZVtUgMInKKPX8Sf0fffOrCON8oYRYRAajeA5Xr+Kz6ZipjkhiW//vj+xPH+cu5Nv/3LOr2Q15Pv5sb8n5FrD9Qu1xV1AeLqCahy2Yioiop3T0c21NB4m/eIzKvmIqxF1F1TV/8HdpQbTHkx/dlb8JFHPjRD5iw+Sbi/yebA78cSyff3mZ/hB0lgXKMflVHYNo0GDYMvvc9eO32421cSgLenu2I3pR//Ma/4piOdKhq/vwichp0XnUSja86ZWGcb5Qwi4gAHH0FgLejv8sFJRvo8mkOVurBKr1Q5aVD1U4m+v6TLe1H8O7gMXyVfxCJD4DKgovxe+No020dbTstI+IHVbjiKI4+NAJvVmfy4i9kU/ur+Ty+N36LItLvIb0il93/70ayHnmG3UuP4rsmiki8zfoIucUekqIj6PDQ/XD0aOCGv8jIOu2qB3Yh7tXttD+yB7oEdspQwiwi0jAlzCIiAEcXUmL9OUwfxr02heRfLqvTJBHowhsAFF3Uj+ghSfiGdcHfKRHPwe7ELN5NzB2f4/4awdHPvowvrhMftb2SdztMINFbRP8jK+lWvp3OlTuIcl64EIq+msXAF+ew9oqZXJS8pcnhe/2Oz456GOQtxubPD9zsd8kl9batHtCF+EXbSNv4IXaRj8MxnZs8r4jI+UAJs4hI9X6oeJfN1Q9wafEq2v3fFvzt4ym9dxguNgrionDBLyurpnBLLPFrdpLyl2z4C3h7tQevn6i9xVT6exFzTz5Jg1az7vCDrG4zkR5lWxn9+Z+Idp46U9vk3ng37SLjv1/m8Mwrm/wR9pRWU+2HzH8tAr8fpkxpsK23Xxr++GhiPthH2wkF2ilDRKQRSphFREr/AcBON5ar9z5L9KZ8qq7pizez7sqraxtH+y6QP3YMy32/oufbqxj0xlwSCw5w9IGrqB6UTunOKqIvyGZI6pNEHSklI/9zIhrYRcO1jaPs9oGk//Zt3l/9VWKvatr+zLnFHqIjIPWVBTBwYIOrywBEReDN6kTMpnzaVX1OsRJmEZGQtK2ciJz3Kg7/nQJ/Py7sdBlJaz7FvH6qruwRsk+Xyh1c7ZvHgZu+wnPz1jL/laWUXN6P8sgkFnf8L/7kWU5ZVQ8Gt/s18anbQwdwZWcOD7mYQf/zPxR8vPOk4z/2dL/+BXuw9evhW99qtI9nYDoRRRV0/3g9xTEd8OvXgYhIg7TCLCLnN+9BYj3vsJX7GNIhHvfubnydEvFdkNJo1zh/OV///I9sazucNWk3sbD7g0S6aioikxj9+Yv4ygdQ3b2CNukbiYiqpOJAJhzfe6MGM5jSB5u+i14P3cfRfy0lKabuzXoN2VNaTUm1n8uWvRwY69ZbG+1zbHu5HmtWs3rIXZREp4Y9n4icJVaFuaPG2HNsi9BTQEsKInJe8xS/QgR+opP/nahDB4naehDPlT0CiWcYDLikZDU35v2SOF8ZPovm+n3/TUZZDrgoSvdcSWVRb+I7fkSbruto6AEnrkMbSm+6jD6rlrNu2bthx++c4//2l9M2yuj0jwUwahSkpzfeLyUeb892pK0PPDxFDzAREWmYEmYROa/5ShZS5O9Fu6SB8Pe/Y87hubLnSY+T4snn3/c+ya27Z9Kxak+NMxGU77ucigOXEpvyGYk9V4M1sH3c19OpTmxL+jO/5uMj4T1IZNthD5+Xe7l6/1Zsx46wyjGOqR7YhfhtecQeLeGIdsoQEWmQEmYROX/5ComrWsnHvuvpnBANL72Et0cyvu7JTRouAj9RrrqeM0bFwUzK9g0mOmk/Sb1WYpF1E2KXEEPhf0zlwhWvsu7dLVR4Qz8B0Ot3vJ1fRsf4SC549e8QFwc33dRwB/MBX9xUWD2gC+Zz9FvzunbKEBEJQQmziJy/ji7B8LE/Yixx+/bCe+81aXU5XFVFfSndcyVR8UUkpGfX26Zg6v/DoqPJ/NMzLPrsKH7X8K4Z2YcqKPb4GdUhBvvb3+D66yG5gWTfvCT3XRYsCwnw9kvDnxBNv9XLlDCLnAU2FVRSVOUL60talhJmETl/HX2ZEtedqPghMH8+QKB++RSqLulOZcGFxLbbQ2TckTrnvZ06Y3fcQdarL1Hw2V5W7i+vd5wKr5/3DlTQOymajLVvw6FDocsx2n1CZOxRYlM+I6rNwcCxqAi8WZ3p9v57HInqiAuRnIuInM+UMIvI+clfjiv7F9t9Y+jcJjqQMA8bhr9j4imfuvLQxfh90cR3bODJftOnE+H18o1FL7DuYAUfFlXWabLmQAUen2NE1zYwbx6kpMB119U/XoQHUj6kurQjPk9CcHU7UO7hGdCF+IIiknfuwuNXwiwiUh8lzCJyfqrciOFhj2843fJyYdOmsLZjawnOH0NlwYXEJO8jMr6wboM+fWDCBDLmzaGXv4zX95RyoPyLGwWPVPnIPlRBZkosHX2VsGgRTJgAMTH1T9h+G0R6KM8fQHn+IKLiiolNzQW+2F6u1/srKa0OXTMtIvVzwNaeF/P+hZejf3aem5Qwi8j5qTJQy5vvH0CnRQshIgJuvvn0TV9wIX5vLAmdGlhlnjEDKynhxjdeIj4qgpc/K6E8eBPgqvxyDPhKl4RAslxe3nA5hvcgtN8OR3vgq0yhuqQr1Uc7E99pCxZVGdhern0CaTs/psyrX/UiJ8sB6/sNZnPvLHak96ag7Zmxp3m4tc6qdw5PWAmzmV1rZh+bWa6ZPVDP+VgzWxA8v9bMMoLHh5rZpuDXZjO7sWXDFxFpoop1lNGd2JguRC2YDyNGQJcup29+fzSVhy4mOulzohIO1j0/cCBcfTUxv32Km7pEU1btZ/FnR9lXVs1Hh6sY2jE+8HCTefOgZ0+48sr65yl8IrA7RsFlwQNG2f5BmPlI6LQZANelDSm7cynTCrPISfGb8e4lV/Bp1z5ctPdjor0ePunat7XDklOg0Sf9mVkk8CzwdSAPWG9mS5xzH9Vodidw2DnXx8wmAj8HbgG2AkOcc14z6wJsNrNXnXMNbEIqInKaVK4l3z+QC3duhU8/hR/96PSHUNiHuLSPie+cw9Gdo6nzFMAHHoBRo+iy8K9cM/52lu4pZUFuCQlRxrBO8XDgAPzrX4HYI+pZ/6jeDUeeg5LeUN0WCKwk+T1tqSzsR3yH7VQWXYCvcxKpG3MpbWQbOzl3bCqoWxffkAFpcacwkrOXNyKSdT0uocObrzPw4F46Hz5In9R0CpJTqcr/mNgOaa0dorSgcB6NPRTIdc7tBDCz+cA4oGbCPA6YGXy9EHjGzMw5V/P27jhQaY/IGS/cR6nC2fs4Ve9BqN7FHt8dXLzsHxAdHXr/4lPFRVFx8BLadM0mOvFzqktrrXCPGAFDh8IvfkHWnXfyeVocGwsqGZHehtjICFiwAHy+hssxCn4CGBRm1jlVcfBSYtvtpk16Np6u3Ul4ayfewsPQIb7FP6bIucYTGc3KrOFk/eG/ufyl548fb1e74Te+0fDNuHJWCSdh7grsrfE+DxjWUJvganIxkAoUmNkw4AWgJzBZq8si0uoq1wOQ7x3AVYvvhWuuCewy0QqqDvcmrsN24jttobq01tP2zGDGDPj3f4df/IKvpabypS3bSNz5CWzfDrt2wYABcOml9Qy8DYpfhPbfC/wDoTZ/NOX5A0jssQbvVakwF+J37cDbrwtREeE9FlzkfFQZHctbl32VssgoBi6eR/llgyi65Yt/tL7d/0rK4tvw7duuxu6+Gz78EBJbdved6PV5EB15/KZdOfXCqWGu72/O2ivFDbZxzq11zl0KXA48aGZ1/m/HzKaa2QYz23Do0KEwQhIRaYaKdTgi4ENH1L48mDix9WJxkVQcuJSohCKi2+6re/6GG+DCC+Ghh4i4+26SXngey8+HYcPg0Ufh5ZfrH7fgEYhIgNQHG5zaU9yD6tIOxAzdDe0gZc9OylSWIRLS2guHUJKQxLg//Yqo8jJKr7wKFxt7/Kt30T6KUjuz5zv3wd698PDDLTe530/8Szkk/XI1iU+uCiTOclqEkzDnAd1rvO8G7G+ojZlFAclAUc0GzrltQBnQv/YEzrnnnXNDnHNDOnToEH70IiJNUbmWYi6i90fbA+9HjmzVcDxHMvBVJhHfaQu4WnesR0TAsmXwxhuwezeUlsIHH8BLLwUS5t696w5YsQGOvgztfwhRof5ONcrzB2PRXtydkLJ7h278EwnB63fsT+lCn/076fav16ju1Jmq3hec0Ca98HOSK8tY/ZUxcM898Nvfwtq1zZ+8ooKe/3k78f/4iKqRvfBdkELib94jasvnzR9bGhVOwrwe6GtmvcwsBpgILKnVZglwe/D1eOAt55wL9okCMLOewIXArhaJXESkKZzDVaxjn38g3T7ZAp06nd7dMeoVQcXBTKLiimlX9fe6pzMy4OqroUeP+m/uq63gYYhMhZT7Gm3qq2yHt6wDXBlByp4dWmEWCaGwyoc/MpJ+G1cTu2cXpV8aHiidqiECx6BDO9nbtgOHfvwYpKfDt78N1dVNn/jQIRg9mvaLFlL+rcsou3soRx+8Cl96Ekm/WE3UJwXN/GTSmEb/5g3WHN8LvAFsA/7mnPvQzGaZ2dhgszlAqpnlAvcBx7aeG05gZ4xNwD+A7zjn9F0VkdZTvQPzH2aPdzCpH+XA4MF1fuG1Bk9xd7wVyXSqmA3NeUR15RYoewNSpkNk27C6eCtSoK+f1PxcPbxEJIRDFV6ivR56LH8Vf3Q0ZYOH1tsu69Auovw+sqti4He/gy1b4Je/bNqk27fDFVfABx/w2Zx5VI67GMxwibEcfXgE/nZxJP7sbSJ3H2nGJ5PGhHPTH865pcDSWsd+XON1JTChnn5zgbnNjFFEpOVUBB5YcrDyEuI/2Qb/fkMrB3SMUVlwMYnx70PZ65D4b00b5vDTYPHQLvwdTLzlqVgHSInVXsxyFnj++cbbHDO15Xbycc5xqMJH9707aLNxPeUDBuMSEuptG++r5pLCvXwYlcGIf/sGcRMmwKxZMH489OsX/qQrV8KNNwae4rl6Jl3aPkZkcRG+qiT8niR8SUmU/WwIiQ+8T9JPV1IyazT+Lkkt8nnlRHrSn4icXyrX4iOeiO0+zOcLrDCfITxHeuCJ6AaFv2jaAL5CKPkLtJ0EkeHv+uGrCLSN7lOOO3gQf3NWuEXOUSUeP1V+x4BXXyKiqoqyLw8P2X7QwR1U+yGnqCpQxxwfH0jg/WH+o3TFisCWdF26wJrnIPFRwIH5iUnOI6HLJpIy3qHtl1bCcj909pP02P8RUVDW7M8qdSlhFpHzS8U6imwAF+QGt5IfNKh14zlBBIfip0HF21DRhJuEjswBVwHtv3tS3fzVCfjLYyAT2u/eQYUekS1Sx8FKLzhHzzeW4OnaDU/3niHbdy4vplubKDYeqsB16gSzZ8Pbb8OcOY1PtmJFYA/nPn3grRfBdzcuqhsrIl5nddHPeG/fbLJ3z+STvG+z7/NvQLQf79OpWFk1CS9sbKFPLDUpYRaR84fz4Ko+YK83eMNfaip07954v9OoMG4KRLSHopOsd3ReOPwsJIyEuLoPKgnN8JW2h8zgThm68U+kjoMVPi7atpHY/H2UfvkrYd37MKhDPEc8fnaWVMN//EdgR5577w3scFPZwNMWaybLb74C5ZPBefkg7mW2lCSxNu0GVnecyL86/j9eSX2Cucl/Yq3vO0R3+5zqb6UTvSkfyptxg6HUSwmziJw/qrZgroo9voGkfbT5jLnhrya/JUL778DRV8DzafgdS5eAdw+0n9akeat9HeACSDuwTXXMIrWUeHwcrfYz8OUX8cfGUT5wSFj9LkyOoU2UsbGgIvB3zYIFgTrmWbMgMxOWLz+xw4oVcP31gWR5xTKomgrVn1HW6WX+r6ArneIjmbLjh0z67CFu3v0YN+z9Jf+27xk+LbsRD0lE3FqGef3EbKxnT3dplrBu+hMROScEyxwOVPYnfvtHMOYMfWRt++9C0Wwo+hV0/n14fYp+C1E9IfH6Jk3prUwDID1iMx9rhfmU2lRQ/8pijypfnWMpsZGnOpzzWkPfi9r2lFYTV3yY7ktfoWzwUFxsbFj9IiOMAWlxvPt5BYcqvHTo0AHmzYMpU+A73wk8ZfTmm+E3v4Ft2wLJ8gUXBBJn73QoXwld/sKKw0NwrooL28US7TxE+zwk+EqOz1N5OJE1baYxIv2n+K+KIeb9PDzDM5pwRaQhWmEWkfNHxTo8lkbcp6VYdfUZdcPfCaI6QfIdUPy/4A3joQSVmwN1z+3vBWtaguUrD9z4177dTtUwi9RysMLLoKULAjf7fSn0zX61De4QT3QEvH+g4ouDX/sa5OTAT34CixfDRRd9kSy/9RZE/B5K5kLaLPZG3sxHh6sY2imehKj607bepR/wUeXNlPtT4UcRRG/aD5Xe5nxkqUUJs4icPyrXcYjB9NmxJfD+jLrhr5aUH4LzBLaJa8zhp8ESoN2dTZ7O+WPwHm5HfLcCyj36RStyjNfvKKrwMmDhi5RefgXV6V1Pqn9CVAQDUuP46HAVR2r+L0JcHPz4x7B1KwwfDllZgWQ57l0oeBTa3o4/5SHezCslKTqCKzrWv4UdQAR++hVvYJX3ASIuqMSu8AdqmaXFKGEWkfODrxjn2c7u6oF0/2QrtGsHvXq1dlQNi+kLSTfB4d+B72jD7bwFUDIPkidDZPtmTVlV1peIS/3E7N+Hz69VZhGAwkof3bLfo+1nuRTe8e0mjTG0YzwRBmsPVtQ92acPLF0K778PKTFw4DsQOwC6PE9OkYcDFT5GdW1DTGTo+y0uLn6PD6tvptTbCTfdiFm7p0mxSv2UMIvI+aFyA4Zjr28gqR9tDqwun2E3/NWRcj/4j0DxHxtu8//ZO+/wqMrsj3/u9JpMekIaJaEmhA4iRaSIomBvq66s6+ru2suufXfVddW1/mxrZ10rotgQAUWaVKkJJdRAes8k02fuvb8/bhCQAJNGArmf57lPkpl33vfcyST33POe8z3Ot0D2NVtKrik8+mGQAN3K1uEMqHnMKiqgyMn1X/QlosVC3fkta3RkN2jJjjaxpdp3/G6alQ9CqBwS38An6lha6ibVpqOvw3DCNcySi56uzSwJPYyQKWOIKwZ1t6jNUB1mFRWVroFP6fBX7s/Csi2vc6djHMQ8EszjoeY5kJuQifpFSm4iGAe0ermG6LMBSPevoC5wdAGaikpXQ5ZlKt1Bei+ZT8PZU47Z2S8cRiaYkWRY21SUGZSi5LpXlVoE83BWlHnwhWQmJdsQwry5z6pbQp58Gd66WIQ/SuhzS1psr8qRqA6ziopK18C7Fo+QQcS+CgS/v/MW/P2amL9AqAhKZ0Ldm+BZBqEKkGVo+EJ5roVScr+mIf5s5CAkGHKPzLVUUemiOAMSsVvWY6kswzlteqvmijJq6RdlZGOVF++vlWjkIJT9AXTdIPYxqrwh1lf6yIkxkWAJX9AsJlBCkmc3P2gfgzQw6Xe0ymaVQ6gOs4qKStfAt5YKhpCxJ0/5+VSIMANYzwX7lYouc9kf4MB42J0Au2Kg7CbQ9wDbtDZZStZakPebcUTvV1MyVFRQ0jF6//gtkk5H/eTWy1CekWAmKMHPlb+KMte8CP4tkPASssbO98VuDFqBcd2aH9HOdi4lT3cJwV02dOfUQMjfartVVB1mFRWVrkCwCEIl7AsNomd+LtjtSqHNqYAgQPJHIEsQKgT/DgjsgEC+0tjEcVOLpeSaIliRiDmngDp/G3YKq3sjvHGOP7TdmioqbUClJ8Q5P87DNeYsxEhHq+eLM+vIjDSwvtLHiHgzRq0GAgWKKoZtOiHLDJYUuyloCDIpxXpMGbnjkebOxR6sJrf6aoZkvoE5Nx9v7MBW297VUSPMKioqpz+N+cuFocHEbt8MgweD5hT79ydoQJ8OtnMg+nZIfBXSFkHEpW26jM/fF8EqgzuvTedVUTnV8IYkjDu2EXlgb6vTMQ7njAQzPlFWmqbIMpT/GRCodTzP/3Y5+bnSx5BYE0NiTS2aX4PMAOcyFvd7ANkJBpOqltEWnGJXDBUVFZUW4F2LhJ6KYF8seVtOnXSMDsBtHAlAbPUiZFmVllPpulR6RXr/+C2yIOCcen6bzdvNqifdpmdthRex/lNwf0ux5RHe2ROBMyBxcQ87U1JtaFqh4tOnfjXodHjyE9D0c0FIVctoLarDrKKicvrjW0uDJpv4wmIEr/fUKfjrAFyJZ4ILkoKr8Imqw6zSdSn3hej74zzcw0YSSkxq07lHJ5oJhZyIZbdRJ+TwftV1JFn03NDXQW9HeG23j4dR8tK7fg252ksQHGCs2tUGVndt1BxmldbxxtG5iTGupnMfq69reRcyFZUWI4vg+5li8XL6nAod/joYf88+sBriem6jLiBibkEOpYrKqY43JBHau4/4HbkU//2JNp8/zabnAvND6KRKvvS/z9ikCEYlmFsVVf41Wc4lfN3zNkb6XsWoK8BPvzabuyuiOswqKiqnN771IDWwOzicodU1NS4AACAASURBVDu3gMUCffp0tFWdFjEmFnGnEfuwUkp9XpIs+o42SaWzEW4RJ5yyhZyF7iCZP34LgPO8GW0+v9Awhww+IldzD5Myx5Nsbfu/M0ewEituvLtiMfepgkoRNG1XINzVUEMHKioqpzfuRQAUiOOI3roZBg0CrXrROCaCQKA6BY1OIujZ1NHWdFmEumM0t+iibKry/XIUuoLHPVqLJMsUu0IMWDofb/8sAj16tsEZHEawUJGINI0gu/cT7eIsHyTNs5X80HkI3cBQVtBu63QF1AizSutIXHbUQ9ZjNDyoRk3JUOkA3AtxaXPwSDGYtmyCmTM72qJOjy80ADN70PjXAuM62pyuhSRj/ngL5i+247kyG65S5cBONhVeEW1VBYnrV1F+9/1tO7ksQelvlUYl3T4AoX13cNLcW1mcfiuDpPcwynsJ0Ktd1zudUR1mFRWV9qejtnDFBvCuokjzZ3qUFSC43WrBXxj44gYiV3yFNXZNR5vStfAFsb20GsO6YsQEK+ZPcqF3DAxN7mjLuhSFriD9li9AkGWc57WdnBwANc+C50dIfBsM7a8FH+c/QEAfQ3CXFX1GLagbFy1GTclQUVE5ffEuBYJsC4yjt1rwFzb+nhkIWyA6uLajTeky6IsLiXjkB/Q/l1D4h2nMfv9zgt1j4dmVUNrQ0eZ1GdxBiWq/SNbS+fjT0vFmtWGE37cRKh8E28UQeXJ2ugRkUj3bKK4chpAhofXXnJR1T0fUCLOKisrpi3shsmBmT3A4Z+Y/A0Yj9FMrxU+Ev1cmzIaISQcQQ7VodVEdbdJpTWL+34hb+jKCx8/6f97D91P/AsCcZ/7LVb+9COFfy+Dpc8CkXrIBrKkrjj/AeHiNQvN2rArdQYyuBhJWLqHqhpuVTpttgeSBkqtBFwdJb7TdvGGQ5tnGJts19GApxsAuPI1a6yrNQ40wq6ionL64F+HSj0XERFTeJsjJAb2q+nAi/D0zoDEg73WpUeb2JHb+SyTYn0Z7sQf/Ijt7zhtKX+dKppa8RmH3oSx/9HHkA3XwyhqlK5xKuyHKMsXuIIPXLUYTCLRtOkbFvUpL+6T/gjam7eYNgxTPdnb3mIq8W0AfW3ZS1z6dUB1mFRWV05NgIQR2UMJZGJDRb9qopmOEiWSPQCyPAyDoVh3m9sK4O59k318gpGV+7X9w6RK4wnglUw13kubbzJmVn7LyrJnsueEqWFYAX+d3tMmnNeWeEEEJ+i6ZTzAuHvfwUW0zcf2nUPcqRN0F1kltM2czMEpe4sVCGrZ3Q9PLi6D1n3QbTgfCcpgFQZgqCEK+IAi7BUG4r4nnjYIgfNL4/BpBELo3Pj5ZEIT1giDkNn49u23NV1FRUTkGjXJy2wPjyawuQqivVx3mZiB360OwxITGrxb+tReJa/+GMBZW+O8l33opNXvOx1vRD2PUPiIz5zNQ/JxhDUuZ88cXqRuTA+9ugLzyjjb7EKEyaPgaKh+BivvAd2rLEBa6gthFP3GLFyitsNtCftI1H0p+A+bRENf2DVDCJdW9jZ3+qQhaMGj3d5gdpzInTIgSBEELvAJMBoqAdYIgfCXL8rbDht0A1MqynCEIwpXAU8AVQBVwgSzLJYIgZAELALXct4sQFAxIghajpJblqnQA7oXI2iR2ujKZnvu58tjo0R1r0ymENjOT0KZ1mJMbUwFOYs5lV0Aj1hM56Bv8B2zsSLmLM2LMxOUX4/XlEGxIxpqyhoiePzKxuooa38vM+ucc/vybUeifXg4vTus4w4NFys2ody2EDgACGHqD5Ia618A0AiKuBI2142xsAQ0BkdqAxITV36N1u9omHSMyH4pvB2M2pMwDTdMtrzdV+Yh57+2wpowBSG2+KWmerfyUfinDyt7GqC/AH+jd/Em6OOFEmEcAu2VZ3ivLcgD4GPh125sZwH8bv58DTBQEQZBleaMsyyWNj28FTIIgtL5JukqnRkRLXuR4Pur+d+ak3U9A/ZWrnGxkCTzf4zFOREKg288rISZGLfhrBkKfPujX+DHIVRDc29HmnHak7vozmniRDfv/zNA4G0btoctxyBOLc9c5+OvSEKLzmFH/EjaTlw+f+xjZFYRP8zrG6MpHYE8aNMwBQQP2yyDuXxB9F8TcD9bzwfczVP0dfJs7xsYWUugOIcgyWW88j69nBg0TWpk6Yd8DWa+AviekLgCto20MbSFRgVJcvdIQl+nQJteCEOpQe05Fwim5TQYKD/u5CPh1ieUvY2RZDgmC4ES5Eao6bMwlwEZZltXkmdMUGYHt5kGsMp1BZVxvErx7KTf3ZFP0FEZUf93R5ql0JfwbQaymhAkA2FavgLFjQaOWbYRNZia80/i9dxUY1IYHbYUptA1H1GeIX+opmXYHvZqK3ss6PKWDMUYUYXRs5tLKN/lvj7vYfsEl9PvmM4T9+yE9/eQZXT8bqh+DiKvA0A90CUc+L+jAfgGYBoFzlpKzaxqlONXazq2yEpJkStxBhq5bjDV3MwdefL1V6Rj6iELIfgkCkZB4Pbg+P+74GF/ruxOeCAFIDeRTUTSAJONm9LZygg3qhn9zCMdhbmof7teluscdIwjCAJQ0jSlNLiAIf6BR+yUtLS0Mk1R+oaMaQvyKAmMmyyznkPV/r3PDnHsou+os9BcmsCThWrY4JtDXuard1lZROQr3QgB2BseRXFOKZu9euPXWDjbqFKN3b9gNoaAJnXcVRF7T8rmWHd0RtEmmt9//qE6DLJPivBVcMttzpxN3rf3YQ0NmqO8JEXtwVBdzcdXbfH3jffSZNxft44/Dm2+eHJv9eVD6OyUPN2mW4hAfC32qEm12fQvu+VAwBNJXH+1gdyLKPCFCkszw158lkJpGzWVXtXguna2UuOGvQMgMW+6EHpFtaGnrSHVvZYf9ApIaNmMw7lcd5mYSTriliCMzZlKAkmONEQRBB0QCNY0/pwBzgetkWd7T1AKyLL8hy/IwWZaHxcXFNe8MVDqcRY6L+DY0nak33ciQObMI9oom8aMlWD7YzIiqL9HIEqtiL+poM1W6Eu6FyMYc9nqi6L91nfLYOLXFc7PIyEAWtLhK4pG86g1vm1H/ITZ5JcLzsGPS9dj1J7gM1/YDQQJHPqmBffSz7mLjpTOR330Xdu9uU9NifG8fdcR6X4IDE0HQgm3G8Z3lgwg6sE+H6HsgVA7Fl4AcaFNb2wJZlqn0hthTH6Dv+hVEblxH+W33tFh6UmctI37ESyBrYMsd4I9uY4tbR7J3J4WDRsNS0DtKAKmjTTqlCCfCvA7IFAShB1AMXAlc/asxXwG/BVYBlwKLZVmWBUFwAPOA+2VZ/qntzFbpLJTpk0lyfcQk2+fwJ8DUB5ejH+Y38zB/tYO4oMSQO75jbdwM4nwhYlXhfZX2RnKD5ycCkbfhrpNJW78SIiIUDWaV8DGZCGT2RszzI6RvUd7XU6yQq9MhOqHibkIFdlwro5AfOxPhRMWUwQhwpYFjJ9QOYEz9d3x47Uxy5r6P9u//QPP+/9rPXlkixvceiFUQfXfz83ANvSDpXSi5EspugcTX2714VEZghzkHk+Qhxb+vSSdHlmX2NQRZUeqhxBPCpBUY/+7zBBKTqLny2hata07cSPTA95FFPZVrbiOR5kXUT9iMpQ3QyUF0aUaCnxvRn+9HZ6kh5Ilt93VPF07ovTTmJN+ConChBd6RZXmrIAiPAj/LsvwV8DbwP0EQdqNElq9sfPktQAbwsCAIDzc+NkWW5Yq2PhGVDiBYg0X6iKxehcibdQhjtWDMxyHvJPTPWIKT4zD9307O+PeTbH9sFDtqkxidqEXTRartN1X5wh47KNbUjpa0PTV+EYADYZzjST83j9IOu1xQ8pej1q6EMWPaRiKqiyFl52BavghhmgjedWA9q6NNOrWpfgzECrT3yuRNvYlEqyG819X0B/sBiNyFvrY/Z2kWs/6K3zPyvZfhgfuhf/82Mc+66kinzRSfhzkhDyqGwc4Sftlcbs5uTcQV4N8C1U+AKQei/twmtjZFQDCyOPG3HLBmA6CTAqTsdtLdrqe73UC8Wcu++iAryjyUekJE6DUMiDLSO3ctUauWU/zY08imZv6/EkQcfb/A3uNH/LXdqd54A6IvCmztcIJtQIo/n0LvaHqIP6K3laoOczMIK9wny/K3wLe/euyRw773AZc18brHgcdbaaNKZ8S5AWnzWCLSPLhm98DWbzjs14GxBp+pEH1EMbrz65CngvmK3Vz50LW89a9vKXTpSLeHeZFQUWkJ7kUgmNgdHEFEbSW6Hdvh+t92tFXtRjg3ZmmNNzjNRTdkEPonP1Z+8K1SHebWIPmg7m0oykbI28Kep65g4InSMQ7ijwFPAkTtgLo+pPt3s+vOxwnMeRfp4b9h/uzTNjdXby/BHJ+Hv7Y7xrpWSpDFPgb+XCi/XSkYtLZ9S4YGXTQLkv5ArSGRibVziQpVUmDqQ4HlbJaUeAAPOgFCMkQYNExNtZEdbSS3xk/SC08TjI2j6robmrWm1lhHzOB3MEbvpWHfWdTtuBDkzr2Lmubeyp4BE+iZ9yP6HiV4ye5ok04ZOvdvVqVz0jAXef8VaIQgGxfNJDsnpOTYAfhj8NY78FZko9G7iOi1COkFLTHnbOTSv/2JLx57jSSLHoO2a0SZ25qgJFPhDZFk0XWZSH2zcS8EyziKPHqytv2sPKbmL7cI/eBB4ASvLwWzmsfcOlxfgVSH9Jad4kEjsPTJPHE6xuHUDICUxWDfB/UZjBmQxuZrbmbE688gbtyIdvDgNjNVY2jAmroK0efAXTwMY1UDrCuGkKQcy2shEIKQCAPT4IoTdMQTNJD0Puw/A4ovg+7rwNCzzewtM/VgYeKNSIKWc0teY6Ck5HZn+LbBuEtwBSUKGgIUu0MkmnVkRRvRapT33rxpPRGLF1Ly8GPIFkvYaxpj8okZ9C6CNkDVxpl4S4e22fm0JxGhampyxsEK0GbXImgCyJIaxAoH1WFWCR9ZVPQ1qx+H7ZD33aUYf5OFzrOhyeFS0IanLAdb6lr8T6TQ6/65dJ88g8KpvRlhb3xN3TGKK9pR0aMzcqIoYUCU2e8KcMAVJChBkkXHeWk24szqn/ARBIsgsA0x4nrKq0NM2LgKzGYYempczDodjXnfnuIEzNZVagOT1uCcBVI8mk8Lybv/DhKb+7frSQRfFERvh/pemHQaou6/B+9Hb+G97yGiF8xrI0MlbKmrQRZw7R+DbksVPPsTeA6XPtsCeo3yWQiI8MNa+E1O05+Ng8on2ghI+QoKhkPxDEhbCdpjK4SES759JMvjr8QerOGc0tdxBCvAeGT6lU2vISvaRFYTNXiJzz1JyBFF1cwwrzlykIjMeURkfEfIlUDVht8Tcie2+jxOJtYkEf8GK0aNG52tjGC9qk4WDurVViV8Ku6E2peQf4jC/S8jm+c+w9WlDx33JYG6HoRi9qCfVon4hp0zvnmb/501h0zzHqJ0zpNk+KmLJyRR0BCkyB1EkiHOpGVgjImV5R7eza/jjAQzZyRY0Gla78QcdNpbun1/XMKVFYPWSYu5vwegSns2ogxx61Yq3f0MagSlRSQm4ouJI7BFC72qILgHDBkdbVXzCVd+s71u1EOl4F4AGwYj6pwcOPdCRoSbjvELgpLL3O0nsBUBkJmewNYbb2XAs4/hXLaSyHGt72RpiNmDzlKNq3AUukUVWF9fBykRcN84iLGATgMaQXGORQleXQufbgVvCG4Yqjx3zMl7QfJsKJwKpddC8meK+kYLkIE1MTPYEjWJZM8OJpW90/yuslu2EDn/G0r/8hCSPeKEw42hHaS7bsCSuQF30Qhqt16BLJ56jbnS/NvZbxpDpmshervqMIeLquKvEh51b0PtS5A/EuGWWub/5VnO7JuEcJQk968RcBcPRdD5kR/QkbR0BZGVhWwq7qEUmCxb1vTRxfGLEpuqfCwr9VDoCtLNomNMooWhcWaGx5u5sV8U/RxGfirz8m5+HcXu9he+PyXwLARtAvsD/TA2ODHmbVHTMVqJZ0A2hiW1yg9qWkbLcL4PSMjP7mHn+KlEJ8Y0Lx3jIK40CNggaqsS7QfSH7wHT1QMngceQpZP9P/4+BRGdMeQtIO94gS2zh6G7dW1lA8exJJXX+Tn3udTZ0kAreZQJFmrgVtGwgV94Zt8eGWN4kQfD+skiH8eXF9Cxb0ttrXI0pctUZPo51zBuSWvNd9ZBnjiCUSbnarf//H442SJWO/L9Kk7A4O4n6r1v6dmy3WnpLMMkOjdQ9GgUQgrZQyWEo5uraHSFGqEWeXEeH6Csj+CNAr5inXsmHYZ0nnT6B5m8Z7oi8Zfk4Fx9B6EnjITP3uaz25+hXpdDNHUtbPxpx5R3nf4vm4CNaEo+pt30ce8E4vWByIgQqESXGKQDkyxv2VrrZ//7XSSZtPTJ9LwS24eNF+hwhkQmZ32AD6NDUewgshA+ZFfg5Vh3CR1EJJfiTBbz6HEE6J37loEWVYd5lYSHJhDzJvLkQU7gncVRLZMdqvLIstKOoanD8KmfPJevJxES0svvRpFlzlhnaIGYz0LW1QExXfeS/Ij97HpxbcYcNvv0Tdzx8kvSmyr9TE2ZQMCIrbHnPT85GX2nHcu39//BA3meEIaA6vtZ/OHsicwHK6pLAhwwxAw62B2HniDcOdo0B8nchx9KwR3Q+3zoO+h/NxM8u1nYBRdjK78DE1L9IQ//RRmz6bq1rsRo46tl6wXC0lz3YQ9+CNO/bkU2l8lsryt0l86Bg0SgawkmA+aKT40xvqONumUQHWYVY5P8AAUXwz6dJjpJWiPZsHdj3NVt+bpsXrLszFEHoB/SqTfswhukimw5dDdu7SdDD912b7TQWV0HGeXzSLDtf64Y+Mm3MAYo5adTiW/uc4vMjjWhFnXvM0jWZYpdAXZXuvHLBhJd+fiNCSw35pNvu5QnmG6awtTyt5ssrVnh1NxG4iVEHENJQUhJm9ZraRijBzZ0ZY1m3CUL2Lee1v5Gs6EqSceciw0OTno/EH8gSEY1Qhz8/H9DIFtsGAQ3pg46idMJvN4zuSJqO8JMbmKTFujakm3v95J3fx5ZP31VuYlpjN6xtlh1TfIskypJ8T2Oj+ZwlwyDAsJzbIR/8kGPJdnEXVJBJeVPkWUUcsBYwYfxd/CyogpnOX85siJBEHJYTbr4b8bwR+Cv4wF43FsiH9Oub5U3KFcX+zTw34LfBoLBbZs+jtXoCUU9usACATgnnvgpZdg1Cgqbr3rmEMd/tmkum4DOcQB2yvUGGeeNjn89kQf3txIzDjR28o62pxTAtVhPtVpz9xQyQNFF4Lshe+ugeXPMf/pt8jomURCMyMksmjEWz4Qa/bPGLJq6bNpIfv65nBWZ3SYO7DdeKU3xKboKfR1/nRCZ/kgOo1A/ygjsSYtm6t9rCr3MjjWRJQxvItyUJJZUOhia62fGJOWaXufxiS5f3nerzFTp0+gwDaQzVGTybePom/D6hadX7tR94ZyxNxPtW4i9cE6kn5eBSNGKEV/Ki3GOGQQAN7ieIzd54HkAk0nFZntjDhnASbkZ/LIm3oDfWJb2fxF1im5zLpF4PoGbOcjGAw4vp5LcNhwJt1yLe9HLmDU8L4MjDEeM/XDG5LYVuun0ieSYHByrnA/cr4G7fNuXLeMIjCu+y9jBSDdv5ts9xrW2s8i272WmFAT7RQu7q9Eml9fB08thwfHH/s8BC10+wAOTFAam6QtBfPwsN6C3fZhSIKePvVrwhr/CwcOwOWXw5o1cMcd8NRTiPWHotMxPuUmVJD9OPxzsIVW4df0oNp8HQIyMf53mrdeJybVl8+BbmPIPDAffZTqMIeDmsOs0jSyDKW/A/8mkP4Nd79C6dTp7Jw0nbFJ4UvvHI6/pichlwP5LzB8/huUm3vi0py40KKr4BMlcmv8RPuLGV312fEH+4+OqsSbdY0FgLC2wkuR68R5zTU+kffy68ir8dMrQs+wWNMRzjKAUfKS4C9gRPXXJHl3sTr2ItzayGadW7viWal0EbOeC7GPsbzUg8Xnwrplo5qO0QbYsvoR0hsIbtYAktLARCU8JB/UfwTl2Qg1IfKmXUbfqDYoQK3rDYa+UH6HsgZATAz6ed9gCfq4/O7r+H5nOV8VNOBvzCn2iRK7nQEWF7uZtaOOpaUeavwifR0GLvLdjk6qRv6bhob7zjrCWT6cs+q+Ri8H+d5x8bETs87tDTePgPUl8MHm45+HxqIoZ+gSoeh8COwL6/TzI0YR6ztATKA4rPEAzJ8PgwfD9u0wZw48/3yTxcB6sZgEz9NYQ6tx6s+hwnwHoiYu/HVOEWyhWioHZaNZIqG3lB/6HKkcEzXCrNI0NU9CwycQ80+4+H0ki4U5dz3BsHgLkYaWbidqcJcNIzLje7pl/ITW72OnOZshbrVruiTLbK72Icoyk8reRScf7ewKtV4MPx3AuKIA3d5aQmmRJF78N+qnTsMzeBhoNNj0GkbFW9hc7SOv1o9JJ3B2svUIzWZJlnEGJA64gvxQ5EYjwOW9IqgPHD8PUEBmXMWHzEm9n+XxV3BOaTMi8UefMZiqwVwOlgrle38kuFMhsEeppg+HYAkUXwL6NOj2ASUeiR11Ac7bn4sQCsH440S4VMJCYzBQndEXfqyBGSiFf9YJLZqr5gQKLId3jjzVul82ietrkGrhIy/Onr2RBg0m1qSjyNXMNIKj0ELCS1A4GWqehdgHlYf790f4+GMc55/P9f+8nbcefYMSTwizTkO5J4QMaAXoZtXRK0JPslVP93XP4Mich/iRHdd1YxBTj30zbJVcjHHO54eoi9llzqa3N7fpgVMzYW8NfLZNyRW+7Ki+ZofQJUDKt7B/NBSdB+krQRt1zOH1AZFqYypnVsw+8dsUkmDTJvjwQ/j3v2HgQMVZzsw8eqwsE53/LpakjciigYbC8YjuKKwcnYbkZsyJ1z4FEAfEwH9BuE4C73KwTu5okzo1qsOscjQNX0HlgxBxFbwtwIoV/PTkawiJSYxObN32tuiNJbAnEcPVZYxc9B92nnGu6jADe+oD1PolsqONOHaVH3rCG8Swtgjjiv3otpQjyDKhnlF4L+yHbmcVCS89S+ILTxOMS6B+8lScU6fRMPEchsaZyK8L8HOlj0qvSKJFR41fpMYvUusXkRrDQ0kWHRf2sBNp0IaVNxsZrGJ49TesjruY3bZhhF8j/isH2VwJmkanwR8JrlQw1kDcBtibAcYssF0I9gvBOKTpvEHJrzjLUgOkLULWOFhSUo9FJ9A/d43SCvuMMwAofO6VsC21tiLf93SloX82SUsWKlFNXydLx+nMOP8LJMKbeWy++T76RrfhTYB1Etgvhep/QuQ1Sh4wwLnnIjzzDDF33cXNWf35bOa96DUwOtFMmk1PN6sevUZgU5WP2PdfI6n/35BKDey4bA1J2x894bJDXSvYYh3F946L6OHbgb6Jm3sAbhwG++tg5kzo1w+yso49qbEvpHyh3AAUnQ/Jc0EX3+TQIncIrRQkw/XzUc9pKlzodlbBvjrYVQV7ayHwkfLkDTcoectNpGhppRpSXX/CmryeQEMS7sKRyOJpcMN2AqLiXLh3xWAJ1iC4F6gO8wlQHWaVI/Gth5KrwDQUiv8ID59N3YyL+WnyJVyQbMGobX0Wj8c/FL12HkP9b7LKeCtejQWz5GkD409Nqnwh9tQHSbbqSLYeauSi21aB/allCN4QYpwV30X98I/tjpR8KI2leNCz2BcvJHLBtzi++YKYD/9LKCaW2kuuwHLVdfTPHsjCQheF7iBRRi3RRi0ZEQaiTcr33aw6tGEVsUgIOj8arZ/BoU+QxSpcSRLdXE8iaO2ENPGEhASCmjhCmnhEIQJLaCO24DIoXAEZPxzmIDvA2Qu88cpx+IVJ54IcA/g2K45A9eOgiQHTIDANAX1PpWsYgPN/ivPWbQ4Ys9jbWPg4OcWKbsVyGDIE7ErBojV1RWt/TV0af9ZAzJ99AEwE7/dqA5NwCJWC+zvIHwtSGVunXsLljjbWA49/FlzzoOJuSJ5z6PE77oCtW4l8+l/8LqsfXHCBcoMZ8IFPAkki8clnSYz8N6TBXv0nBCN7wPYTL6lBYnLdZ3wYfyur7RMZW/9d0wP1WvjrOLj/B5h+Niy+HxwnyN9Oel/RZy4YBN0+AsuRO0SiLFPqCdLdvfmQjFxAxLC2EOP3e9BvqwRANmgJ9YhCnNSLshkP4Bk8nECPnuAG3EcGBiL835DquhWdXIWndBC+qj7QOcua25xE/x72DxxLn03foD1zAcQ/09EmdWpUh1nlEMH9UHg+aOMg6mOYci5yUhIf3/s0KTY9/aPaRnNSEu1Iu61YRlVgqyxht2kA2Z6umRfpFyW2VPux6TT0cxx6fzVFTmz/Xo4UbcF903BCfWIRdAE0erdywWssP3CY58I0cE0bjys4BtOKfKyzVxM763Xi3ngFBqaSdfVYhN8+iyY6AvT6Ix0dUYRdu2DzZpJWrce0NRf7hqXgCyFmxhDsG4NwfgDT4L0I2kPb6RNYrHwTTtqbYYBS2e9JAE88SMeJ3IRsYB2nRM8kl+I4+zcqElqeH0ATAcbBSu6jdwXEPAARlyDJMktK3DgMGgZZUYp6brkl/F9EJ+Kg+kVnQh44EIBQcTy6uFO4gcnJxPkBIMKrxVQNHoEuoxcxpja+5OrTIOZBqHoI3IsORQgFAV59FXbuhOuua/KlibcCV0KF8TYa7FObtWyafw/93etZHTGRbPc6HGJ10wOjzTDrJrjgWbjxHfj4z4p287GIuAwMvaHkcjhwNsQ+CjH3/3KTXOENEZSgT/1qNEVOTD/sxbB0HxpXADHBiueqgQQHJylpJY3r1E24osmltFI1ye57iPZ/jFc7kL32ucTlvtis9+FURyeHcA7ug3bJFzA8D4LFoE/uaLM6LarDrKIgOqFwmqKIkfYD/OkJ2L2b9Z98vLC5wgAAIABJREFUi9MSyUUptpYJ7R8Dn6cv1t7rmfj1P8g78/Yu6TDLskxujZ+QLDM81vRLtz6hzof9laVwJgRuTcIUl4/WvBqtQSnGC3licBeNQPT/KtdQr8U3oT++Cf3R1LqwfLmeqE9Xo73vQ7jvw0PjdDql2MVgAJ9POYB4nQ5fZh+C/eORTTp0dRWYp5YhDAN5BYhbzITi4vAP7oksmci1TmFV9OUMiQ6QbKxFJ1WgkyuUr1ItPl0/XPpxZMWnQd41zX+DNDawnKkckhf8ueDbCL5VIAfAkKVcUIGtNUq1/4zudrQ/rwG/X81fbkN0gxWlDP9GAd0UlDxm1WE+Nge1l6UcWLiZTfc9SU+7/oQvaxHRd4PzXSi/DXpsBqExim0wwFdfwQcfKFJqGo1yCAKkL4bMuVQbr6fE9mSLlp3g/Ipd5iy+j7qQS6uOc5M3shc8fSXc+QE88RU8fOHxJzblQPrPUH6TciPgWQrd3gciKHKHSNq/i76P/AdDbjmyViAwPAX/pF6EshKO32XwMCL9X5Hiug2dXE2p5SEqzPciC12zG6hmQAR8DtwLuBeCY2ZHm9RpUR1mFcX5KL4EAvmQugC+3gbvvIP79gv5IWMog+17SAhshsCJpwoXv7YXltqNZMR+x9fGV/ELRoyyv+0WOAUocoeo8on0cxiwN+qyatxuItYuQjPXg6AHM/mIfhshTzT+6gxkSYc5IY+IjAX4KvvhlkeCcPSFWIqy4bp+PFG3TILcQlgXpTjGwaBy8Tx4GAxKbmFODlvieiAbjaT9eD2GqL0Yk/YDOnwreyDP16HbVolxxwGEwUHct59BX//PbEn4LZvrTNgTEzEY+jd5npuqfGG3244+lhSexgzmEcohByCwG/S9QNASkmSWl3pItOjo6zAoUouCAGNOj8KczkBEQizOxGSEFaUwNUJxmNUGJsfGtx4CW2H1FGStlq2TZzAjop0cMo0JEl5Ucn9r/g9i7jn0nMMBf/7zkePr3oCyudQaLqXQ9nKLU2vsopMz6xewxDGdPaZ+9PIdJ5/j+nGwaT88Nx96J8IVo44/udYOSR+AZYJyI1AwCKPuVXq/vIYxbz6HYATP1Tn4z+qB7Ag/11gvHqCb52Gi/LPxaHPYa/8Sry4n7NefjsTZyqgO9CKqrhCNfYHqMB8H1WHu6sgylN2sbHcnzYKaTLhxIPKQ7nwx81FMBBgbta0dFtYQ3J2AYUQpPTctZG98P/p5N7XDOp0TT0hiR52fGKOWNFujwyuKZLw1Ec2dbsTySDzeIYjeKGTpyAttwJmKJWkj5oStJHqeosZ0NQFtz2Mvlp0KY0+sFy1X+dBJpdjSl2OIKCHoisddNALJboMrlTHGRbuxvLOeiAe/p+EvY8k+08jKci/b6vzkRB9b87VNEQxgPOScr6/0Uh+UOC+9cRdk2TLIzoaoY1faqzSPSIOGot5ZJG/JA9PIU69Fdrh69c3Vqj8WzrdBMMK/t1I1fiKhmFhSbO0UYQawTQPbBVD9D4i4GvTdmh5X/5Hy/956HgdMbytayK1geMNStlhH8qNjOj3Lth8/8/epKyG/DG5+F5btgCcuh8jjSJQKAjhuVD5vey+gX+gi+p0P7r79CUUlIxrDatmDIHtw+L8k2v8/bMElyOgotTxCufmeJoMN4RBWTcQvN/+dW9oyMlhJ8fBRRC0rgAsXgSy2+nNxuqI6zF2d6ieU7byYR8B2DcyYCKEQu194kEIpiakxGzBrT6zn2xI8hhz0Qiljap5hdffnuozDrKRi+BCArINOpizT8/3zsVy1GbHQTn3DZKVBQVOvF024i84gUJeOJfln4qXn8Fdn4inLOfo1B/9ph+EI2APfkd5wA1qbE3fJEPzVmfy6+MU/OQMxOQLbsyuIeGARSclLyRg8hl3OALFGbfs6BU3gC0msKvfS065XWrX7/bByJfzudyfVjtMdk1aguk8WvX76HvQXgufJU7CBiQTGWrCUgaUcQhaoygGxbRrbHFSZMYZ20LfuLerrphC541t+vv4RHAYteTXtvIMW/zzsGwAll4H9SjANBmOOEq0FaPgaSq4F8zhInoNc0/qbWy0iIxsWMz/6KooN3UkJFBx7sFEPX94J/54Hz38HS7bDi9fCpOOoZ3i98PcPkF8pxH9ZBJ4bk4mavB2BbYQ8Mfjr0gk2JIGsQZYPno/yVWtowBi1j6ya7mjlBvya7pRZHqTWeA0BbXqrz/10QQC8OalolokwvUbZHTGP6GizOiWqw9yVqZul5IhFXAOxf4cnn4SlSwm9/Q4LIieRqK1loL2g3ZaXNA6EHWbis7dxgDRC6NA1t83pKUiBK/iLhNzBFtbp868l4twlBIrScDWMOKazfDhBVzecu87FkrAFY8wu9LYyXIWjEX3NjKzKIlQ9Sq/6R/FocwjsGIUUOHZDmVD/eOr/NQXbU8vpdcV0TI8+RfWMmWyv8+MwarHpm6+koqlwYVhVCMl2GCMpuZZhsKrci0+UGX+wVfs994DbDTNmNNsGlWMjCAKeAVloRBHKE8HU2MCkhXrMJ43gfmj4ArotVSQND978+yOUn20HoHqg0gikLfp4yTLJ7nsQBRuhWZGIFivbxp5DZiuK/Y6lXX3gKBnIZAbFvwBVjyht4g+izwDjQHDPU5RmUr5WUpzCqtg9Mf08G/nBcRFbrKOO7zADGHTw4Aw4Lwf+NAsuewmuGwOPXQoRZpAk2LoVli9Xjh9/hPJyXNf/jrdmPkCf5HjSTWX02HYZBsd+rN02HHc5WdTh1g7Dox+FX6Mo7NiD30P7xICaJozdDWuYKWvthbG3DukFDYIsKfJyqsPcJKrD3FVxfgBlvwPLJEh8C775Bh5+GC6/nBVTLsNV6eOi+NXh1lC0nLoMhP65DF3zGgVJvcnwtUf6R+fBFZTYVRcg3qSlW2N78aTN9xE17DOCu+PZPnIDqcuaoe4g6fGUDiVQn4ItdTURvRbhKcvBX92bsKSRxGoo+Q24F1BtvI4i2wukBv504mXjbdQ/Pgntx35SHryHizas4/ObH2aTLokz4s1ow/ng+EMY1hRhXLIXfd6hNrt1n5ew+Y83s3vSuQQxEZD1iLIOAQmNIKFBQitIGLUy1UEvA6KMSqv2Dz+El1+Gu+6CiRNPvL5Ks9ANUgr/pE0ymlG0qoFJuyPLSq5uxV0ge8Bgh4Z0RanFm6BElfX1EP8zxK+HiL1Q0XonITLwFRHBHyg2PkXCx/+iZMr5BM1WYs0naYs76mZw3AShEkVdxrdJKZT1bwTTCEiZeyji3AyO33DGS4+GDWyzD2VI+RwSDWEEPQZ3hyUPwpPfwP8tgB+2Kqlja+6D2lplTHIyTJgAf/gDS3oMQ6zzk2DWEdSk4qvqh6+qH1pjHVpLDcIvfQcbvwogiwZFU3lkJ/2MdiIShUJKUoaRtDcPrWUhxD7c0SZ1SlSHuStS/wmUXgeWsyDlS1i6UunENGQIBc+9ypoKH9m2/SSbatvflqj+yNW5DDR/wlLz26e1wyzJMluqfWg1MKAxFSO2+mUSkl9E3GBl+5kbkLUn0Ck9BiF3As5dU7GmrMXabSN6WxnuopHAcebzroPiS0Esg8Q3KAxe07wCILOefbPeI/GZJ4h/4WlumP8NK6+/lV1/uJW+ydFNv0aS0e2qxrB0H4afDqDxBhETrBRcdz4LLn2YbrnrOfOtZxl/91/IznyT3D/dRPmkMWi1EjICkqxFQoMkazDotESa4xnfzQJ5eXDjjTB2rLJTotLmRA/oTcBsIbR2F5bxOdAwG2LuO6SL3VkIVUDpDeD+BiyTIfFV+O7vR48LRkDxBLAVQtzPkLYASm+E+CdBG15+7OEIspdu7r/i1WYRWJ6KzlnH1nMvwaITsOhO4nskCIo0mD4ZbOeflCX7NqwiP3I0e22DSQyEqXhk1MPfLoJpg+DuD2BXGVx8sfI3PG4cdO8OgoBPlMjPrSHJojvqRlz0OxD9jrY/oS6GQfZTMfZskr9fC71WKapZ2mN3fOyqqA5zV6P+MyWiaD5T2ZpbvxWmT4devaiZ+zVzqyHWpGVSzOaTY49Wh7AxCuuEcirqrEho0HD8Fs2nKnvrg9QHJQbFmDBqNUT5PiRFvhd5hcCeXt8iWZt/kT4cWTTi2j8GY/RuLEkbicz8DsrPAF8MBIuUSJvUePjWQuVfQZsEaT+BeRiE0envKDQayv7yEDWXXU23Rx9k3KtPUv/Ze+y77x/IV1+tpFaEQuhyyzCsKcKwrghNrQ/ZqCUwMpX6if1ZeNY9FNqzSXVvZUjfDfCvobhWxhH56VbG33kPoe4OPNcMIjQw8Yilo41amP4+1NfDJZcoTUo++UTRmlZpc1LsRioyBxC5eTNE3wWlvwXXV0o3xo6gronW7L4tUP+eIkNov1xRWfAsPs4kArjSwJ0EMbnAu4q0VtoiRQ+4GcR7n8Mo7WdX5ELi5rxGMDae3CFjSWlr7eVOSLyvAEeglPyIMxhd1UyJ0GE9YOlDyveOo2stdtQGCMkc0dSpOVhXqU2LwkEzZTLCI0/CTSK450PElR1tUqfj9P9LVjlEw5dQciWYR0LKPNixH6ZOhbg4fPMXMMdpQCtIXNorAuN3x7vItDGhfgjalYysfIED5sF09+86eWufJJwBkT31ProbCxmgWY3JlUes53VYC3VFF2CemovZl9sGKwn4azIJueOwpq1Ek/Kj8vCeOUcPtZ4D3T5oUTTt1wR69KTg3Y8wr1pB1P33knPnjbhmvYa/3wAiF8xDV1uDbNQSHJREYGQKgSHJFMZmsyT+WgIaM6MrP2WAc5mSRKLREBjTncAZaRh+2o/5061EPL4E/+g0PNcNRo4+rEhLlpUCvz17YPFiSEpq9bmoNE2kQUNR3wEkzJ8L9qug6jGoehRsMzq8619RgwuHfy620AoCmmRqzLcSlLuBWwTEI3JEm5QulPVQNQQGvwdF58H+MyH1O6XjaTgECkjwPEOt4VK83oFELPyWoqtmImp1xJpOnuJAOO3t2wMB6Fu/mtWxF1GlSyA2VN5mc2+t9RFt1BJp6GQ7GacZ8eNH499lRe+S0DR8rjrMTaA6zF0FaxEUX6ZcAFLmw4EqmDwZDAakhQv5ImCnLhDkqoxIIg0nWVImPR15zWoyMxfwY+ia085hDogym6p8mDQ+htnWYxD3EOt9C/LB92EGrrcmtfmaot9B/e4pRMftB0GCgTeDYFE65Alm0DrANKzN5YO8Z4yheuFy1r37P8a/9DiR+/ZQf8556NMLCeYkIhkNeHQR5EZOIDfqbKL8pZxX8goxgZKjJ9NqCIzrQWBUGqavtmOeuw3DxhI8VwzEPzUD0MJzz8Fnn8EzzyjbuCrthiAIiNkD0c+ehXygGCHmQSibCa6vwT69Y4wSa8CznCTPCjRyA/X6STgN01osF4Z5GKT/BAcmw4GzIPmr8PK0K+5GRkOJ9V84PvkSjd/PjmmXohGOoy1+mpHZsJY1MdPZYh3J2c6v2mROZ0Ck0BViXJLl5EhWdmHibEb2DRtL6o8r0Ez/Vtml0bSNgszpguowdwUspZC0HHSpyl3jrtfhvH+Dxw3z7uEHoYqCegfnxq4nNbQf6k6yfVoNwvZ49CPLCNWVIyOEU652SiDJMpuqffhEmSmOn7DJBcR5/wOlIN1tonr29WErQjQbWQfOxm1lx+/bZ40msBh01F97LS9PvYRYvYDGoEOu3YtL58Crtf+S89q/bhmjqr9AJ5+gZN2gxXdpFoEx6VjeXo911gaMS/fBORnw5sdKOsZdd52EM1MxDhkMgGf9JqwXXwPVj0HVPxQN4JPl0MgiuL+D2pfBnwdAQDuAesMkAtoTdB+UZBp+OoDgCxIYkQq/Cg4oyhOp6O0/0LN+OuaiqdDtI7BffOw53YvA9Tnlln8Q1KYQ9dnH+Lv3ZEfvHKL12vAKYE8DzKKLdHcuedbhjHfOQ0vrlR+2NUrx9Y8yUtBwMqUtuh6CIOCZMBH9F9/BBSif6466Ee6kqA7z6Y6pCrotg0AkJN4OVSG4+AWoqIcv7mRTypmsr85geMQucuz7O87OiP5QVcag4FscMM7gdFHJzK8LUOMXyY42kiDsJM77CrgkhGtD1P59JlLi6VmwkmjR0cthpNAVwhCScYhuogMlWEN1WEJOYvzFJPgLmjWnlGjH9cB49KsLsc7aCP9ZB717wzvvdHhKQFchetggZEHAvX4j1ksuhJgHoewGRbKsjQrM9GIx1uByqK4A2a90dpT9yiF5lRzj0H7QRIB1KljGUuU9tgwiACFJSe/5Yjva4noAJPtG/JN74ZuSgRx9ZAONoDaZ3ZGLyPZcouzMJb7e9E2nHFA60el7UWm+Hfui77Av+5H9f/0bHhHS7V0junyQvvWrKLANYrd5AH28W1o1lyzL5NX6SbHqcBi1oDrM7Y556jnw2L1IQbOSlqE6zEcQlsMsCMJU4EVAC7wly/KTv3reCLwHDAWqgStkWS4QBCEGmAMMB2bJstwMvSyVVqN3QvISCJmUavANy+Hh76HaAw+dRZ5Xx4KqHFI9W8nZ/To1v0jzHE27byv2S0D+VkvSbzaz2HnHaeEwF7mC7HcFSbfpSTfXEFf7MkLQj3C1H9dZo/Gee3q3ZM2MNJIZaQQgbftrbTOpIBA8I426nCSil+yFB2dDxAmcJZU2IzYukrrUHkibGouCI6+F6seVKLN1WotuXDR6NzprJTprBf1qsjBKe5QnXAdHCErXvIOHMRvinwGx8rCUomM4U74g1tmriXxhHtpKN6F0B647RiNFGDF9uxPT3G2YvtxOYGQq/vN6w1nyL+cgaqIh7XtFSabsRnB9qzjpggZFs1kDoWII7ICUr9EWOkm7/Sa8/bPYcv2fwQuxJh0x770d/puRGv7QcOetvu6G8CdtJSme7dhDdWyxjmy1w1zuFan2iZyT2jLlIJXm021wf+pjkzFsEjCN/ArkYMvTm05DTugwC4KgBV4BJgNFwDpBEL6SZflw/a8bgFpZljMEQbgSeAq4AkUZ/WEgq/FQOVnoPJCyGGQBis+GohA88gO4AvD3synPGcyiuN8TGaxgYvksNMdxlk8KWg3C/lRkCog0/URAvA6DtoOihuG20YVjdtArcQfZWqu0vs6KqKKn81K0khPpdiOyGEnd3y5pI2PD5I0mFAV+RYyr0eloxkW7w7Do4aL+kHGCLXiVNkUjCLj6ZxOxtbFAVdBDzAOKQ+meD7bzwp5La3RiTVmLzlINgBQy0KCbQpX+Jlz6cfSJz2p0ko9xmWpKJeMwLLNX43jyS7SVDYQyY2j43RCCQ7r94hC7shLQlLswLtiFcfFejCsP0PPHi9j/+izEyMadH41Vkd4svw3cC5QiU6RDhyyB42awTiP1zgvQ1jvZ89m3VMg6LDoJawua+IRLWO2ZgWpOnsOsQSbLs5bV9kk0aCOxi84Wz7W1xodWgH4OYxtaqHI8zHotxWdOIH325zDcA54lYJ3c0WZ1GsKJMI8AdsuyvBdAEISPgRnA4Q7zDODvjd/PAV4WBEGQZdkNrBAEQb2qnUw0fkheDJoAFE2GvZLiLAdFeGwipf0G8UnczeglP1NLXscgdUxl9VEMyEBYVMDAsz9gd+0T9I+N7WiLWkRDUOTzvQ2YtDKTbP8jre5hBMmP9LAFzTo/FbNnIlvUi4DKqYk0MIfI777EV+vEFBUJkddB1cEo87lhRJklTHE7MMfnIUt6PKWDCLoSEH0ODkyYdWiYxtRs22QZCp3xOB6eQ+oXsykePJw1T9xJWdZAtEjo5ABDauaT7tmqWJJgw3vdYLyXZ2FatAf7Rz+Qed4E9n7wOYHuPZRJBQMk/uf4C7/+OpEL5lH0+L9x9+1PdbGblEYZtHAd29OFga41rIqYQq5lBKP/v737Do+qSh84/j3TMslMeiGQEJp0pYtSRMDGrl2xAYJlWXVldXXtBQFl1bU3XBsgKCoiKJYfiGBhBSkiUmTpJSGQXieZfn5/zCABQhIkyaS8n+fJk7l3ztx55xDuvHPmveeULPlDAxB+rfmtwEWHKAvW+pzDWsB552G+8z20PxxVMl8S5gpqkjCnAOkVtjOAM47XRmvtVUoVAfFAbm0EKU6A8gbKMMwlgTKMLcBjS8CgYOp57O/Yk7mJt2L1O/jz/leI9OaHOuLDuiaiX7BgGVFGWf5MSLgn1BGdMK9fs2BXCTa9hSvC7yW6bCWl/gGYb8nEsnY/JY8MxVKyF8vKENaLC3ESwvsGSoly16wn9fyzAwllwkNw8JbAKKx9xHEfawgrwp66ClNEPq7C1pRl9kX7TjwxBo5IxGwuH2XGSH51n8Xpk6bQYusmtl1/JVvGXQemMBLd6fiVkXxLCsuSb+Dy9GeJ8VSY+sxqxnlxFzKvfJq2N1xLpxFD2DVrLvy5BjNkbN0Kd91F8dBzyB3/NwpcPvwaEutxOrmq1FVJyPHE+vJIc25ng/0MBpR8U2EVvhoIfmuwpywJh3cw3cN+gMLADDrxTqlhrg8tLjofboWyve2wmRdAi1drfTalxqomH90qGy44+n9ATdoc/wmU+qtSaq1Sam1OTk5NHyaO4Q/MhmHNhYODYL0JHlkauBL8yfNI79ibjxJvI8JXyujsVxtWsgyBsozINugNig6e1yh2Na4TpNaar/fl0d79L26wDMPm30qG/xlMl+VhWpdLyUNn4+3UOEfNhTgkdvAA/EYjzJ17eGf0DWBKC4wy68pO/X6I3Uz0KYsxWByU7B2II33Qkcmy1lh27iB+5lu0fGIirFp1nGMdSQM77H35eXd/zh0/gbjMXRQ9cDYJF5s5K38eQ7Pf55ysdznv4HQu2v8yRr+HJck34VGWY45VOmgI2xd9jy8qmlOu+BN88EHVT+7xwJgxEB7OvlfeBIOBnHIfBprPdHKV6eH4iUJTAvvCOvyhx28uTSPM4KZDxMFajkxUJzIlmbxuPXB/5QVfFpT/FOqQGoyajDBncOTnzlTg6ElTD7XJUEqZgGigxtmY1vpN4E2Afv36hbiYtn6cyATzvRJqOAKTuA7smZB1OmyKhElLICoMHj+Hva17MS9hPJG+Qq7Lfo1If3HN/4Hq06A2qJnbiX1+D1uzPyWq9VWhjqhmvDnsyniPM8qmEW/eAVGj2F70T9peMQbz/gx2ffAZ8a4TGOkRooEyt2rJ9suuo/3sd2DyQ5CSEhhljn8Qsm6DvCmBbU9m4KI4bya0/xVMTjxFrXHsPzyqrPLLMG/MwrwpC9OmLOLyPgJAKwUvPQNdusDYsXD99ZCaekwspYYovrZfSstZX3HpjHtxdUjCcVd//En2SmO3+YoYnvUuX7X6G8sTr2FY9uwjRnvine9ACuR+Np748W9jHTUKNsyB+y46ttQk5q8weTKsXQuffII3uRUAuU4vsdaGM51cKEpCOpdvYIm/nA22M2nj2nFCj3X7jWwra0V3ezom1TRXfW3o3MPOIWn2K+jbLYGyjIhBoQ6pQahJwrwG6KiUagfsB64FRh3VZiEwDlgJjASWaV2DoQFRe2wZELsVCjrDjhSYshisJnjiXPak9mZewl+I8eVxbfY07P6SEz58vuvk59Sska6J8EIY3nwDkfpltB7ZcCesV14omgPF76MdX9MBL8XGbuhWX6Jc/Wk7chhh+/aw64NPcQwcTPy3kjCLpiHnngdp/9mH+KdOxTBtWmBn9I2Q9xTkTgpsG2LA1ApMKeBoBY4USvNSfj9G2Bdbsc36BQB/pAVP9xZkPnAvJWcNw5uYSI9ln8OsWfDQQ/Dww3DOObiGn0NZZhbevXsx7NxKWHYul+f9B6U15ed2oPyGPsfMrXy01PKt9M3/P36Ov5CWzp10LV5xTBt/rJ2cORNo/ehH8NQXMG8NdEqG9klwSgvokAT6c3jyycBKk1dcAblOyrx+HF5Na3vzHV0GMGsP3R1r+dU+gMHFi4j11rw6c1tZKzzaRHf7vjqMUFQl+s/nY3ztBUoK+xJpnh+Ylaahvg/Xo2oT5mBN8gRgMYFp5aZrrTcrpaYAa7XWC4F3gNlKqR0ERpZ/X1NRKbUHiAIsSqnLgPOPmmFDnCyTA5JXgjMW9nSHKUuhzANPnc/GNkNZFHc1cZ5srsuZRoTfEepoq2Y0QP82GN7dRau7/ktO0RoSY/qHOqojWQohbjPY0+HAR3iNqfzsuY38sGs4/5SBqHU/ww1DCdu1k13vz6d0kKxAJ5qWhC4d2HDpaHq9/TY88ACkpYEhDNquBX8hmFoGZpg4ZP2Y4I3AB++wpTuxzfoFd/9Uykd2x5cWg99gYMfAm3D5NB6/puziUZT/6ToMu3aQ8PEHpM7/kOhvvsEQZqU4OQVnUiJl/VthiC3Fl2bB07tVjePvU7CYLGs7ViSMJNG1jwRXxrGNLCZ4dRz0aw/fbIJd2bB0M7i8wQbPQ4cO8OKLvz8k1xl4fQlWWeJgYPESNtlO55uYy7kq960aP25zaRpRJgepYXl1GJ2oSsSws/FE2ChdZibyij3g+gWsfUIdVsjV6H+11vor4Kuj9k2scNsJVPrduda67UnEJ6rlh+QfA8sfpw+Ef/0I+4vxPXYOS3vdzLrIIaQ5t3F53kzC/WWhDrZmBqdheHIb3r+H4cl9EWLmhDqiAGM5xG+A6J3gN0JxOwo7v8GM9NOINJsYE+vHOOF2+M9/ICmJXe99QumQGlw0JEQjk2ozM+Pmu+j5+QeoqVPhjTcCd5gSgKrr9C0r9hHx5hrcvVtS+o8BYDLix8A3yTeyJ7v8cMMCMCoIj2lN+G33k/SPB0n1lJLYKpEWNjPxX1wfbNjihL8BU2iGZ83ik9b3syT5Zq5I/zdh/vJKGiq4cUjgB8Dnh/0FsDMLsrrAsGEQGQkErmHIdHiIMClsJhmNs/uLGVy0iGWxl7Hd2p2Ozs3VPqbUG8ae8iQGRG+VAc1QCg+n6OLLiZ22AH2FIVCWIQmzrPTRhoH+AAAbT0lEQVTX6MVvhIgcyBwAz26CTVk47xrOvHOfIMPagf7Fyxha9AUGGlEtWJdEsCXjXBFOi7Pm4XM/g9GSUv3j6oryQuwWiPsNlA8KO0HeqZSSyBx7L0zax6gfF2B96AHIy4O//x2mTKHUI1PHiaYpwmzA3CaNndeMo+P06XD//dC+fbWPM6/LxPbKSrxdEim9exCYjPgwsjT5RvbYe9Ix2kKi1YjZoOibGI7ZwFElWdG19hqsfgfnZk1nYco/+C5pDOcfrMEoqNEAafGBn5gj52DPd/kodPvpFhPWcMvI6lnf0h/41X4m38ReTrsDWzHhrbL9FkcqGkU3e3qV7UTdi7hxLNaP3sNR0BWbZT4kPhHqkEJOJjhszBxLIW4TFLWH14rgh70U3TCUt697g4OW1lySN4vhRQsbV7IMgTelkSOJeDYTA14Ks14OUSAaonZCu4WQsAEcLWHPRZDTD7eOYl7ieGxbNnLLbZcRMf5m6NgR1q2Dl16C6Np7YxeiIUq1m/hu7B1okwmeqMGb6aYs7M/9iK9NDCX3D4Ew0xHJ8sCceXSIshBlMRJuMmAxqjpPPFs493Bm7gL22nuwMfrkvg3aVezBYlCk2GQc6hAjfs4r+IQiUwKrooZX235TaRrJlgISLCd+nY2oXRHnnYOjZQruRX5wbwHXllCHFHKSMDdW3mzIHAPuKHgvBub/Ru5Fg3ljwhxMeBmb/QLdytaFOso/7tZbUTvcFG5vh93xFtR3OYnyBKboS/4JPBGw7zw4MAQ8Ufgw8Ln9Wjr/ZyZjrzsHy/ZtMH06LF8OPZv2ctdCHJJqM5MXn0z5+FsCF+dt3378xtvz4PHv8CfZKHloKESY8WHkm+Sbgsnyx5xa9H29xV7RqUXf06Z0A2viL6LEV/nsGtU54PCQ5/LRLtLcYGbHaCjaurbTpewXVkaeS6Ex7rjtDppTyXLHysV+DYXBQPE1o4h+a1tgu2RBaONpACRhboy0Hw6MBX8BrD4N/Z/17B84kHcmfkwb1w7GZT1PkudAqKM8Od27o8aMIeqpDMIowF0ws/6e21wCaYvBngHZfSD9AnAmAZDn8rN8d3eG3XAbA2a+Qv41Y9i44lfWX3wd6/PdrM91/v4jRFPW2h5YyW7XrXeBxQJTphzbyOuF2bNh8jKItlL86FB0VNjvyfJeew8G5czl1KITWA2ulilgcM5cDNrHqpJ+NZn6+Rgrs8oxqcN9Io40vPAzFJplMZdWev9vEX2YkzQBq89Bt40fBxalOerHtvK/v/+I+hF10zgMBzTO3NZQOj/U4YScJMyNUcGL4FiMO/IpHI/vpiQ+mYVTpnFuyadclftm47m4rzqTJmFY48OxPwF/3kuBDwp1zbEE0haBqTywUmJhVw6ty6Mdbkpn5TD0Hw9g9ZRQ/OhQ0l/6D77Y44+aCNFUxVgM2EyK3RFxMGECzJkDW4Jf23o8MGPG4XmUE2wweTg6LgIfJpa0vDmQLGfPpXvR8tC+EALzM5+Z9ylZnhbsdFZfi11RbrmXbUVu2kSaMcnocqWifIUMLF7Ctoie7LJ2+X2/W1n4MvY6FsaPJdGTyY1Zz2Lzl4YwUlGR7bTu5Pboi+8LNzh/BveJzand1EjC3Ni4NqNzHqLAfBFb7/iZiIwDbH3wFm4of42+pf/FcCLLkDZ07duj/jKe8BcKsPq3Qd6/6u65tIb85yF9BHjDYd8IKGt5+P5VGXj+voTWXy1j59UXU/7vs/Gellx38QjRwCmlSLWbyXB44L77ICICJk6Et9+Gzp0D8xNHRcGCBfD8n6BlJBr4Puk69tlOY3D2h3QvDn2yfEiX4pUkmbNZ5+hJ2Qks170yqxyzAdrYj105UBx2esm3xHqy+SbmCnwYyTK34t0W/2Sj7XQGFn3N6OxXifYVhDpMcZSyUWOwzchCa1PgPbIZk6sTGhGn14U//XqU386Kr87nwk/uoOyq/pzebhuN7bq+GnvkEThlBgU/pxLTdyLK2hvsF1b7sMpKIuKdlS8c0tqmoeh9cP4EYb1he0fQwa9WnV6Y/jMs3kFBp+5snvoYPeNWo5rSBxPRoNR0ZTZH+uA6jqR6qTYzWwvdlETFEnnHHfCvf8G8eXD66fDyy3DhhYGp2RbOA2BT9NnsiOpPv7wv6Fb8Y4ijP5JCc4Z9DV8VXMDa0r4Mia4+vkKXj98KXPRLtGIxyuhyVUz4OK9wPnMTb2V+wk3ssXYi3F/GtTmv09ZVRf27CKm4caPxPXIfzk0dsfWYDgkTwdQ8B4skYW7gtNbsLnazMd9FfMlUBpl/YXnhC4x4bBK6b18irjny68N6W5GvvqSkoP92O9HjXyB/RSfi9o9CtVsDlk4nfKjKat8MYcXQ5kcIK4LcHpB/uASDXfnw3I/o/SX8NG4CmTdezNnZ7zaqZPnQ34Oj1BPiSERTlGoPvIVkOLx0vfdeKC4OJMkXXHDMymB7w07hp4TLaVv6K70Lvg5FuNVquWYRfWM8rE64jKwNJbT2bjp+40v+yqrscgwK+rcIZ2eR/B+rTnvn/+hYtpHtEafRoXwzF+bPafiLaTVz9uRE9g27gMSpK+BDD+S/CElPhTqskJCSjAbK4fGzvcjF9wfK+GhnMUVFqxlgfo4s49X0uv8zcDn532szyPcHkqJDP02R8cEHUUYbRU+l4fSb8WdcBr6Tn3bIErOb6FMWg9EJGcMg/zRAgV/DZ1vg3sV4yzUfTZvLrltGc0nxB41vij4h6lCLcBNmA4GyjJgYeOUVGDHimGS5yBjDZ/HjiPbkMDTrvQb9obNH4bckOPfxY+LVlBsijtuu1ONnQ56T0+KsRJqb91LYJ+LC/DlcmfMWI3PflmS5kfCMuZ7wX/NxFw+EwmngKwx1SCEhCXMD4vL52VviZmVWGcsPlrGz2IPdbKB3nGZkxB14DYn45nYicvl37J/6HK4OHUMdcv1ISEDdfTftP1rCdzseBPc29IFxf/wiQOXFlrIKe+tVeMviYN+foSy4rG5BOUz5FqavI/vMfrw6dzXlvTtwZe7bmLWMIAlRkUEpUmxmNuW7WJ/rxF/JFBMev2ZBwk14lZnzD7yFRTfsGWQM+BmSPQen0cay6MpndQBYnV2OX8OZLcLrMbrGz6rL6ejc3KA/NIkjtbjyEspi4nDMCAN/CRRMC3VIISEJc4j5g8up/pxTzneZZWwpdKM1dI6xMLRVBP0Sw+nFk4T7fiMr+16SJz9N4YWXkj96XKhDr1933w2xsQx4eQnL3JNQpQv+0EWAxrAiok75Gkvsbsqzu1Gyexh4IyC/HGasg1sX4v8tl+8emML0FxfSzbSFUdmvYm3gb/JChMr5qXYSrUYWpZcya2sR+x2HP1hqrVmcXspBSxoX580mxpMdwkhrLsG9n56FS9loP4N1tkFkmVNwqvDfU7xyQwS/5JbTLTaMmDAZXRZNm91mJeOiK4mc/l/8lnMCM3U1ldm4ToDUMIdQgcvHpnwnDq/GalS0izTT0mY64us9m2cFSeUvkmccS+INr+NNSCT9hWnHfOXZ5EVHwwMPEHP//Vi33c2mLlfRPbfmFwFavZuIaPUzYbG70D4zJbuH4nUkY8guhS+2wtKdaJ8m/dzh/N9tUzG2iuD6nFdIce+p+9cmRCMWZzUyumM0vxW4+DazjNnbijg1LoyhrWxsLXSxKd/FoKJFdHRuJj/UwZ6APvmLyLCfxtdxV/2+L8xfTpS3AIXG45fRZdF8RP7lRkzvvUXm96fRasBSKJoOsRNCHVa9koQ5BFw+P78VuNhX6iHcqOiTYCXRajxmGViDdpBWMh63oQ1qkoOw3TvZMX9R8533d8IEeOEFBj7zKPP/PY3ExK0k7b8GZb8YIgZD+FkQ1h1U4AOH0uXEuOYT73wbu/cndKwBd1EaZZk9MGx3EvF/PxH2371oo4HsC87iy788Tl7rUxhUtJgzDn6LkaZZEy5ETZzI4ju9Eqx0j7NySrSFlQfLWZ1TzvZCNx6/pkOUmcHpi+sw0rph0h7GZT1PrimZIlMcRaZYio1xgdvGWPomWkkMl7dQ0Ty0HHImRR06o19ZiX/YQAx5z0DMLaCaz2I98r+9nu0scrM4vZRij582djMdoy2VT3avNamld2Dx7yZ79d20mPMcBx6YiGPQWfUfdEMREQHPPYfhhhu4csRgNt18NY7xbUjlBywlHwKgDdEQPpDW3mSi3Z9i0gWUGzqyQ0+EeVuJWLGfuDXLseYX4LGGs+a6W1h9/d8oTWpJmnMbNx98mjhvbohfqBCNU5jRwNAUGz3irSzdX4rDo7m4bSRqc+OsVzVrDy096bT0pB975xnv1X9AQoSKUhjHjSVl4sNsyX6VrlEToHgORDef8lBJmOtJudfPNxkONhe4iLcaOSM2nNgqat+Syp8nzjWHHMetJN46jZKzhpL1j/vqMeIGatQoGDAANXkyp74+G8+McFaPvpWtYy8hKWozqYafSPOuIoalHDzYi/wf2xG1MIN26/+F0evFGRnNvjMHk92/FyX9OmKLKONCvYD4zGwifYU0s0KXRi3f5WNfDUdB0+o4FnGkOKuRqzpEhzoMIUKmKc5aZb9xLP7HJ8HEb/BN64Ex72mIuh5U87gcThLmelDg8vHRjiKK3X4GJoczsEUEm/Jdx20f5f6KlmWPUmi8DPvo7/DZI9n7+gwwysUlALRrBzNnou6/H/PEiQx+6zkGfjKDkuHnYdy+nfCt+zA63aSwmlZqDSWdupI+fgKWlHSMp4STYPCSwE7w7IQiiDuJi3biZ1W+GEqlWv/hpxFCCCFCKzUV90MP03XyJHat/xvtu02D0s8g8vJQR1YvJGGuY5kOD/N2FaM1jOoYTaq96nofq3czbUrGUW7qjW9KBNZtW9n58Rd4WzTPlXWq1LUr6uOPYd06DI8+SvSK5dC1Kwy7hX3tulLerTvOTl3REYG5VNO+vRHwhjZmIUTT8OabR2zGH29xIPmgLJoQ68MPUTz/U1rcOhff8jYY854E+2XNYiICSZjr0I4iN5/tKSbCZOCaDtHEWaseyTT6c2lXPBK/spP/3ShSZ9/DwbsfoPTs4fUUcSPVpw98+eURu/JP4IIlIcSJO+LblWoGApDP+0I0DWYzlndnYu5/OoVzWxN/1RooeBXi/h7qyOpc8yg8CYH1uU4+2VVMfJiJsZ1iqk2WlXbTrngUZv8BMgqfoeWdj1E6YDAH7324niIWQgghhKiatXdPMv/5IPGTf8FV2A+y74Tij0MdVp2ThLmWaa354YCDRemltIsyM6pjNDZzNd2sNSmOu7F7l3OgdCIpIx9Gh4ez942ZYJIvAYQQQgjRcCRPfpjsTj3xX74bbeoHB8aA47tQh1WnJGGuRU6fn8/3lrLiYDk94sK4sn0UFmM1dT3aQ8uyR0hwvkN+/nW0OO9ZlNPFzo8+w9MypX4CF0IIIYSoIXOYhYI33saSW0zJYy3BfArsvxScv4Y6tDojw5e1JL3Uw+d7Syhx+xnSMoIBLcKPWYjkaBbfHtqUjMPmXU1x1nBiRnyCO6UNuz5aiLtN2/oJPMSON/VOZdOF9Uqw1nU4QogasrX+7+ENWR5aiGan4+C+rPvbffR7eSqFl7xKTN8nIeNPkLYCLG1DHV6tkxHmk+Tza77PdDBnexEGYEynaAYmR1SbLMe4PqZz4RlYff8jb9VoIod9S9lpfdj+1bfNJlkWQgghRONkUIq0Jx4hu1tPLLc+xvaCV9D+csgYAU1wATAZYT4JeU4vn+8p5WC5lx7xYZyTYiPMWM1nEL8Dsu6gbcl0HMb+lE/vRsJTMym88BL2vj4THR5eP8E3FYVvVro73nmcKZ5ErYp3nsA81EIIIZqUpEgrzvdnYTzrLNoNupb0x66g9ZWfojIuglazwdIx1CHWmholzEqpEcBLgBF4W2v91FH3hwGzgL5AHnCN1npP8L4HgZsBH3CH1npxrUUfIkVuH5vzXaw4WIbJoLi8XSSdY8KqfpDfAY7FkPMQuLdRtOMCTJNzSFg7k5ybb2X/1GdlYZI/4ocfKt1ta4KrLAlR0RElEUIIESLWXj3Q//uNnDvvIe2RDyn/JQ7rlHWoXZ3BfjHE3gURZzf6uZqrTZiVUkbgNeA8IANYo5RaqLX+rUKzm4ECrfUpSqlrgaeBa5RS3YBrge5AK+AbpVQnrXWjy2YKXT62Frr4X6GbA2WBxS/aR5n5U5qdSPNxEl1fHpR+ASULAsmydkJxBNwXRvT3i3F26sK+56eRP+aGRv+HVB/WV1LXnCaJcUjZVkrSJoQQzZ1KSSFp3gccWDwe0513En72Jlz3t8Fy4XJU6UII6w1xd0HUNaAsoQ73D6nJCHN/YIfWeheAUupD4FKgYsJ8KTApeHse8KoKFPFeCnyotXYBu5VSO4LHW1k74dcut0/j8PpxePyUHvrt8bO7xMPBYJKcHGFiaKsIOseEERtmBF8JuA+AJxN8B6BsDxTuANc6sGwA5YcSG/wQDh87YQtw1Wi23T+Gsn5nSKIshBBBR5T4FFazGIpo9I530bdovFpeMJzidWtZ9fQr9JzyBOqRIsquj8M8ahtm11j8e28HOmOI7g72rmBuD5b2YG4HhtgGnRPVJGFOAdIrbGcAZxyvjdbaq5QqAuKD+3866rENbq40n9a8tCEft18fc58ikCQPCybJMRWvBs++B/KfO/aA5cA+4FvgGyDLCt26w1/HwdVXg91OmaxEJ4QQQogmJioijNMn/ZOsm0bje+st2LiR8Nu2EN1qG6YRJdBmLaSuDWSJFbVeArZzQxJzTdQkYa4s3T86szxem5o8FqXUX4G/BjdLlVJbaxBXI5IXqLX94Qe4+eZDOxOApncZaa35sC4OWgd9Xidx1oGQxVnHf+eNpf/r1Un0eaj7M9TPfyLer7gh5/P6J31eq2r8f++P9/tWAgOJx3XeHzpsLWhTk0Y1SZgzgNYVtlOBzOO0yVBKmYBoIL+Gj0Vr/SZQ+XQHTZRSaq3Wul+o42hOpM/rn/R5/ZM+r3/S5/VP+jw0mnO/12Qe5jVAR6VUO6WUhcBFfAuParMQGBe8PRJYprXWwf3XKqXClFLtgI7A6toJXQghhBBCiLpX7QhzsCZ5ArCYwLRy07XWm5VSU4C1WuuFwDvA7OBFffkEkmqC7eYSuEDQC9zeGGfIEEIIIYQQzVeN5mHWWn8FfHXUvokVbjuBq47z2KnA1JOIsalqViUoDYT0ef2TPq9/0uf1T/q8/kmfh0az7XcVqJwQQgghhBBCVKYmNcxCCCGEEEI0W5Iw1zOl1Ail1Fal1A6l1AOhjqepUkpNV0plK6U2VdgXp5RaopTaHvwdG8oYmxqlVGul1LdKqS1Kqc1KqTuD+6Xf64hSyqqUWq2U+jXY55OD+9sppVYF+/yj4AXbohYppYxKqV+UUl8Et6XP65BSao9SaqNSar1Sam1wn5xb6pBSKkYpNU8p9b/geX1Ac+5zSZjrUYVlxv8EdAOuCy4fLmrfTGDEUfseAJZqrTsCS4PbovZ4gX9qrbsCZwK3B/++pd/rjgsYrrXuCfQCRiilzgSeBl4I9nkBcHMVxxB/zJ0E1m49RPq87g3TWveqMK2ZnFvq1kvAIq11F6Angb/3ZtvnkjDXr9+XGddauwnMFH5piGNqkrTWPxCYsaWiS4F3g7ffBS6r16CaOK31Aa31uuDtEgIn1xSk3+uMDigNbpqDPxoYDswL7pc+r2VKqVTgQuDt4LZC+jwU5NxSR5RSUcAQArOgobV2a60LacZ9Lglz/apsmfEGt1R4E9ZCa30AAskdkBTieJospVRboDewCun3OhUsDVgPZANLgJ1AodbaG2wi55na9yJwH+APbscjfV7XNPC1Uurn4OrAIOeWutQeyAFmBEuP3lZK2WjGfS4Jc/2q0VLhQjRmSik78AnwD611cajjaeq01j6tdS8CK6n2B7pW1qx+o2q6lFIXAdla658r7q6kqfR57Rqkte5DoKTxdqXUkFAH1MSZgD7A61rr3oCDZlR+URlJmOtXjZYKF3UmSynVEiD4OzvE8TQ5SikzgWT5fa31/OBu6fd6EPy69DsC9eMxSqlD8+zLeaZ2DQIuUUrtIVBWN5zAiLP0eR3SWmcGf2cDCwh8OJRzS93JADK01quC2/MIJNDNts8lYa5fNVlmXNSdiku4jwM+C2EsTU6wjvMdYIvW+vkKd0m/1xGlVKJSKiZ4Oxw4l0Dt+LfAyGAz6fNapLV+UGudqrVuS+AcvkxrPRrp8zqjlLIppSIP3QbOBzYh55Y6o7U+CKQrpToHd51DYNXmZtvnsnBJPVNK/ZnAaMShZcZlFcQ6oJT6ABgKJABZwGPAp8BcIA3YB1yltT76wkDxBymlBgPLgY0cru18iEAds/R7HVBK9SBw4Y2RwADIXK31FKVUewKjn3HAL8AYrbUrdJE2TUqpocA9WuuLpM/rTrBvFwQ3TcAcrfVUpVQ8cm6pM0qpXgQubLUAu4AbCZ5naIZ9LgmzEEIIIYQQVZCSDCGEEEIIIaogCbMQQgghhBBVkIRZCCGEEEKIKkjCLIQQQgghRBUkYRZCCCGEEKIKkjALIYQQQghRBUmYhRCigVFK7VFKJdTRsVsppeYd577vlFL96uJ5hRCiMTNV30QIIURTEVxieGS1DYUQQvxORpiFECKEgsv+fqmU+lUptUkpdU3wrr8rpdYppTYqpboE28YppT5VSm1QSv0UXOkPpdQkpdRspdQypdR2pdT4Kp6vrVJqU/B2uFLqw+DxPgLC6/r1CiFEYyQJsxBChNYIIFNr3VNrfSqwKLg/V2vdB3gduCe4bzLwi9a6B4Flx2dVOE4P4EJgADBRKdWqBs99G1AWPN5UoO9JvxohhGiCJGEWQojQ2gicq5R6Wil1lta6KLh/fvD3z0Db4O3BwGwArfUyIF4pFR287zOtdbnWOhf4Fuhfg+ceArwXPN4GYMPJvhghhGiKpIZZCCFCSGu9TSnVF/gz8KRS6uvgXa7gbx+Hz9WqskMc9fvo/dWGUNNYhRCiuZIRZiGECKFg6USZ1vo94FmgTxXNfwBGBx83lEDZRnHwvkuVUlalVDwwFFhTg6eveLxTCZR1CCGEOIqMMAshRGidBjyjlPIDHgJ1xZVO+wZMAmYopTYAZcC4CvetBr4E0oDHg7NhVOf1CsdbHzyGEEKIoyit5ds4IYRozJRSk4BSrfWzoY5FCCGaIinJEEIIIYQQogoywiyEEE2QUuo0gjNqVODSWp8RiniEEKIxk4RZCCGEEEKIKkhJhhBCCCGEEFWQhFkIIYQQQogqSMIshBBCCCFEFSRhFkIIIYQQogqSMAshhBBCCFGF/wdrnoGA5RvKlQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.title(\"Distribution of shop_id over years\")\n",
    "\n",
    "shop_id_2013 = sales[(sales['date_block_num']<13)]['shop_id']\n",
    "shop_id_2014 = sales[(sales['date_block_num']<25) & (sales['date_block_num']>12)]['shop_id']\n",
    "shop_id_2015 = sales[(24<sales['date_block_num'])]['shop_id']\n",
    "\n",
    "sns.distplot( shop_id_2013 , color=\"skyblue\", label=\"shop_id_2013\")\n",
    "sns.distplot( shop_id_2014 , color=\"red\", label=\"shop_id_2014\")\n",
    "sns.distplot( shop_id_2015 , color=\"gold\", label=\"shop_id_2015\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.4 Distribution of item_category_id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2468231abe0>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAFNCAYAAADGhTOiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XmcjfX///HHmXNmMTuzSotkGUvKFjFIfAzzMUibT2lsI0tS9CV+hULxiUiUZGkR0TpIX3yqrxbUh6EoKYPsZjXMmO0s1++PyWGa7YyGGTzvt1u35rqu9/t9Xtd13nO8znve1/syGYZhICIiIiIiLnOr7ABERERERK40SqJFRERERMpJSbSIiIiISDkpiRYRERERKScl0SIiIiIi5aQkWkRERESknJREiwgAR48epWHDhvTq1YtevXoRExND3759+fzzz51l5s6dS3x8fKntzJ8/ny+++KLYYxfWb9CgAenp6eWKcdeuXUyaNAmA3bt3M2rUqHLVvxh2u53hw4cTFRXFe++9V+jYhedT2nlXtguvW1VUUr9KT0+nQYMGlRCRiEjZLJUdgIhUHV5eXqxevdq5fezYMQYMGIDZbCYqKoonnniizDZ++OEH6tatW+wxV+qXJjExkaSkJABuvfVWXn311b/VniuSkpL47rvv+PHHHzGbzYWOXXg+pZ13ZbvwulVFf7dfiIhUBiXRIlKiWrVqMWrUKJYsWUJUVBTjx4+nXr16DB48mFdffZX//Oc/uLu7U716daZPn85//vMffv75Z1566SXMZjNffvklGRkZHDlyhLvuuou0tDRnfYBXXnmF3bt343A4ePLJJ+nUqROffPIJGzZsYOHChQDO7eeee45XX32VzMxMJkyYQO/evZk6dSqfffYZmZmZPP/88+zduxeTyUT79u0ZM2YMFouFW2+9lUcffZTNmzeTnJxMXFwcDz30UJFz3b59Oy+99BI5OTm4u7vz5JNP0rx5c+Li4rDZbPTp04d58+Zx4403Ouucux5eXl6Fzrtjx47MmjWLbdu2YbfbadSoEc8++yy+vr7cfffd9OjRg++//57Tp08TFxfHjh07+OWXX7BYLCxYsICwsLBS35ePPvqIt956Czc3N6pXr86///1vwsLCePHFF/npp584e/YshmEwbdo0rrvuukLXbfr06Xz11VcsWLAAq9WKl5cXTz/9NM2aNSMnJ4fJkyfz008/4efn5/xSMGPGDPbt28eUKVPIyMjAZDIxaNAgevfuzQ8//MALL7yAt7c3Z8+epUmTJoSGhjJ69GgAVq9ezcaNG3nttddKPJ8L+9XGjRuZM2cO1apVo0mTJiXWKe796tChA3379mXgwIFERUUBMHPmTADGjh3Lhx9+yPvvv4/D4SAwMJCJEydyyy23MH78+EL9dOzYsc7XefbZZwkKCir2fEq6jqmpqUyaNIm0tDRSUlKoVasWr7zyCkFBQdx99900bdqU3377jTFjxpCSksLKlStxd3fH09OTKVOmVNkvYyLyF4aIiGEYR44cMW6//fYi+3///XfjtttuMwzDMJ5++mlj8eLFxvHjx43mzZsbeXl5hmEYxpIlS4z//Oc/hmEYRr9+/Yz//d//dZbv37+/s61z9Q3DMOrXr28sXLjQMAzD+O2334w77rjDSEtLMz7++GPj0Ucfdda5cPvCn7///nvjn//8p2EYhjFu3Dhj6tSphsPhMPLy8oxBgwY5265fv76xbNkywzAMY/fu3UaTJk2M3NzcQueYnp5u3HnnncaPP/7oPOc77rjDOHz4cInX5a/nc+F5z5s3z5gxY4bhcDgMwzCMl19+2Zg8ebJhGIbRqVMn48UXXzQMwzDWrVtnREREGL/++qthGIYxYsQIY8GCBcW+1jm//vqr0bp1a+P48eOGYRjGW2+9ZUycONHYsWOH8fjjjxt2u90wDMNYuHChMXTo0CLX7eDBg0aPHj2M9PR057m2a9fOOHv2rDFr1ixjzJgxht1uNzIzM42YmBjj6aefNqxWq9G5c2djw4YNhmEYxsmTJ4327dsbO3bsML7//nsjIiLCOHr0qGEYhrFnzx6jXbt2htVqNQzDMB566CHjm2++KfWczl3HlJQUo0WLFsa+ffsMwzCMN954w6hfv36R8qW9Xx999JHzXG02mxEZGWkcPHjQ+OGHH4yHHnrIyM7ONgzDML799lujW7duzte/sJ9eqKTzKe06vv32287+53A4jLi4OGPJkiWGYRS8//Pnz3fG17hxYyMpKckwDMP49NNPjZUrV5Z6rUSk6tBItIiUymQy4eXlVWhfWFgYERER3HPPPXTo0IEOHTpw5513Flu/RYsWJbb9r3/9C4D69etzyy23sHPnzouK8ZtvvuH999/HZDLh4eFB3759eeedd3j00UcB6Ny5MwCNGzcmPz+f7OxsPD09nfV37drFjTfeyG233QZAvXr1aN68Of/9739p3bp1uePZtGkTmZmZbNmyBQCr1UpQUJDzeNeuXQG44YYbCA4OJiIiAoAbb7yR06dPl9r21q1biYyMpGbNmgAMGDDAeSwgIICVK1dy5MgRfvjhB3x8fIrUPzcif2E9k8nE4cOH+frrr5kwYQJubm74+vpyzz338Ntvv/HHH3+Ql5fnjDssLIyuXbvy7bff0rp1a2rWrEmtWrUAaNiwIddffz2bNm3i5ptvJjk5mcjISJeuW0JCAvXr13eOxD744IPMnj27SLnS3q/o6GheeuklUlJS2LNnD7Vr16Z27dp88MEHHDp0iL59+zrbOXPmDBkZGUDJ/bSk81mxYkWJ17F///5s376dt956iz/++IN9+/Y5YwVo2bIlAGazmW7dutG3b1/uuusuIiMj6dixo0vXSkQqn5JoESnV7t27qV+/fqF9bm5uvPfee+zevZutW7fy4osv0r59e8aNG1ekvre3d4ltu7mdv7fZ4XBgsVgwmUwYhuHcb7Vay4zR4XBgMpkKbdtsNuf2uYT5XJkL24eCmwcvrH+uzIVtlIfD4eD//b//50yIzp49S15envO4h4eH82d3d/dytW02mwvFmpuby7Fjxzhy5AgvvPACAwcOpHPnztSpU4c1a9YUG9udd97JK6+84tx34sQJQkNDsVgsha7NufenrOvz1/f44Ycf5uOPP6Z27do88MADReqW5sLXt1iK/yeqtHiqVatGVFQUn332GTt37uT+++93nnevXr2cUzUcDgfJyckEBAQUew5lnU9p13HmzJns2rWLe++9l9atW2Oz2Qqd14WvNWvWLH7//Xe2bNnCm2++yerVq5k7d66rl0tEKpFW5xCREh08eJDXX3+dQYMGFdq/d+9eevTowS233MLQoUMZMGAAu3fvBgqSPFeTz08//RSAX375hcOHD3PbbbdRo0YN9u3bR15eHlarlQ0bNjjLl9R2ZGQk7733HoZhkJ+fzwcffEDbtm1dPs/bb7+dAwcOsGvXLgD27dvHtm3buOOOO1xu48LYIiMjWb58Ofn5+TgcDiZOnFjsiOrFaN26NVu3biU5ORmAlStXMnPmTDZv3kynTp146KGHaNKkCV988QV2u71IbHfeeSebN29m//79AHz99df07NmT3NxcOnbsyMcff4zD4SAnJ4fPPvsMk8lEnTp1sFgsbNy4ESi42XLDhg0lXuOoqCh+/fVXNmzYwL333uvyubVq1YrExET27t0LFMyHL05Z79cDDzzAp59+yo4dO5xzoyMjI1m3bp3zur3//vv079/fpbiKO5/SruN3331H//796d27N0FBQWzZssX5XlwoPT2djh07EhgYyIABA3jyySedv0ciUvVpJFpEnHJzc+nVqxdQMArp6enJmDFjuOuuuwqVi4iIoHv37tx77714e3vj5eXFs88+C8Ddd9/N7NmzXRpBPnLkCL1798ZkMjF79mwCAwNp164drVq1onv37oSEhNC6dWt+++03oCB5eu211xg5ciSPPPKIs51nn32WadOmERMTg9VqpX379gwbNszl865RowZz585l6tSp5ObmYjKZmD59OjfffDNHjx51qY0Lz3vEiBH8+9//5p577sFut9OwYUPGjx/vcjyladCgAWPHjiUuLg6AkJAQXnzxRbKysnjqqaeIiYnBZrPRrl07Nm7ciMPhKHTd5s+fz5QpUxgzZgyGYThvZvTx8WHo0KFMmTKFmJgY/Pz8CAoKwsvLC3d3d15//XWmTZvGvHnzsNvtPPbYY7Rp04YffvihSIweHh5ERUWRmppKjRo1XD63GjVqMGvWLP7nf/4Hd3d3WrVqVWK5kt4vgCZNmjinSpz7K0RkZCRDhgxh0KBBmEwmfH19mT9/vkuj5MWdT926dUu8jo899hgvvfQSc+fOxd3dnebNm3P48OFiz2P48OEMGDAALy8vzGYz06ZNc/l6iUjlMhl//bumiIhck9atW4evry8dO3bE4XDw+OOP065du2JXMylNdnY2/fr1Y9KkSdx+++2XKNrL52o7HxGpGBqJFhGpYp588kkOHjxY7LE5c+ZQp06dS/K69erVY9KkSc4R9datWzvnFLvq22+/5amnnuJf//qXM+E8cOCAc4m4v7r55psLzSuuaoo7HxER0Ei0iIiIiEi56cZCEREREZFyUhItIiIiIlJOSqJFRERERMqpSt9YeOrUWRyOq2/KdlCQL2lpWZUdhlRB6htSEvUNKYn6hpREfcM1bm4mqlcv+oTXslTpJNrhMK7KJBq4as9L/j71DSmJ+oaURH1DSqK+cem4NJ1j7dq1REdH07VrV5Yv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xTAMJk6cgre3z9+Kp0GDCPr0eYBhwwbicBh07NiJVq1aM2jQEIYPj8PT04NbbqlHzZrXceLEcRo2bMzSpW+yYME8hgwZztGjRxg48CHsdjvR0TE0b16QFP/88y5iY/+Fn58/wcEheHh4UrduPR55ZCAjRz6KzWajQYOGjB07odi4wsLCCQsLp3v3mGKPF6devQbcf/+/iIuLxc/Pj7CwmqWW//33vXz77dfUrl2HQYP6ARAcHMysWa8yZMgwXnjhOfr1ewA/P18mTZpWalsDB8YxffoUHnnkAUwmE88++/zffm/KYjL+OumkCtETC+Vao74hAF5pSZz85DPndo22tTClfFLsEwsDmjfF6uPv3Hbz60a2tfR/uOTqcrV8bpw8eYjw8JsqO4yrws8/7+LIkcPExPQkNzefoUMHMmHCJOcqGGUxDIO0tFRGjnyUd99dVWiE+EpXXD+72CcWaiRaRERE5BI6duwozzwzrthj48c/S0REowp9vRtvvImlSxexatVyHA4H3br1cDmBBti06UtefnkGTz013plAv/baXLZt+6FI2YiIhowfP7HU9h5/fCiZmUW/6PXu3Yfeve9zOa6qRiPRleBqGTWQiqe+IaCRaCmfq+VzQyPRFc9iccNmc1R2GFVKRY5E68ZCEREREZFyUhItIiIiVUIV/uO4XAUqun8piRYREZFKZ7F4cPbsGSXSckkYhsHZs2ewWCruJkndWCgiIiKVrnr1EE6dSiErK6OyQ7lquLm54XBoTvQ5FosH1au7tua1S+1VWEsiIiIiF8lsthAcrJtiK9LVctNpVaXpHCIiIiIi5aQkWkRERESknJREi4iIiIiUk5JoEREREZFyUhItIiIiIlJOSqJFRERERMpJSbSIiIiISDkpiRYRERERKScl0SIiIiIi5aQkWkRERESknJREi4iIiIiUk0tJ9Nq1a4mOjqZr164sX768xHLjxo3jk08+cW4nJCRw33330atXL/r378+xY8f+fsQiIiIiIpWszCQ6KSmJOXPmsGLFCuLj41m1ahWJiYlFygwbNowNGzYU2j927FimTZvG6tWriYmJYdq0aRUbvYiIiIhIJSgzid6yZQtt2rQhMDAQb29voqKiWL9+faEya9eupXPnznTv3t25Lz8/nyeeeIKIiAgAGjRowIkTJyo4fBERERGRy89SVoHk5GRCQkKc26GhoezatatQmbi4OKBg+sY5Hh4e9OrVCwCHw8H8+fPp0qVLhQQtIiIiIlKZykyiHQ4HJpPJuW0YRqHtsuTn5zN+/HhsNhtDhw4tV3BBQb7lKn8lCQnxq+wQpIpS35DcM6l4ebk7ty1mN+yAu7u5SFmz2Q0vP6/zO3w88XFXH7rW6HNDSqK+cemUmUSHh4ezfft253ZKSgqhoaEuNX727FmGDx9OYGAgCxYswN3dvexKF0hLy8LhMMpV50oQEuJHSkpmZYchVZD6hgB4We3k5lqd2952BybAarUXKWu3O8jNzHVuu5FHtlV96Fqizw0pifqGa9zcTBc1cFvmnOi2bduydetW0tPTycnJYePGjXTo0MGlxseOHctNN93EK6+8goeHR7mDExERERGpisociQ4LC2P06NHExsZitVq57777aNq0KUOGDGHUqFHceuutxdbbs2cPX375JXXr1uWee+4BCuZTL1q0qGLPQERERETkMjMZhlFl50toOodca9Q3BMArLYmTn3zm3K7RthamlE+Knc4R0LwpVh9/57abXzeyrTUvS5xSNehzQ0qivuGaSzadQ0REREREClMSLSIiIiJSTkqiRURERETKSUm0iIiIiEg5KYkWERERESknJdEiIiIiIuWkJFpEREREpJyURIuIiIiIlJOSaBERERGRclISLSIiIiJSTkqiRURERETKSUm0iIiIiEg5KYkWERERESknJdEiIiIiIuWkJFpEREREpJyURIuIiIiIlJOSaBERERGRclISLSIiIiJSTkqiRURERETKSUm0iIiIiEg5KYkWERERESknJdEiIiIiIuWkJFpEREREpJyURIuIiIiIlJOSaBERERGRcnIpiV67di3R0dF07dqV5cuXl1hu3LhxfPLJJ87t48eP8/DDD9OtWzeGDx/O2bNn/37EIiIiIiKVrMwkOikpiTlz5rBixQri4+NZtWoViYmJRcoMGzaMDRs2FNr//PPP89BDD7F+/XqaNGnC66+/XrHRi4iIiIhUgjKT6C1bttCmTRsCAwPx9vYmKiqK9evXFyqzdu1aOnfuTPfu3Z37rFYr27ZtIyoqCoA+ffoUqSciIiIiciWylFUgOTmZkJAQ53ZoaCi7du0qVCYuLg6AhIQE575Tp07h6+uLxVLwEiEhISQlJZUruKAg33KVv5KEhPhVdghSRalvSO6Z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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.title(\"Distribution of item_category_id over years\")\n",
    "\n",
    "item_category_id_2013 = sales[(sales['date_block_num']<13)]['item_category_id']\n",
    "item_category_id_2014 = sales[(sales['date_block_num']<25) & (sales['date_block_num']>12)]['item_category_id']\n",
    "item_category_id_2015 = sales[(24<sales['date_block_num'])]['item_category_id']\n",
    "\n",
    "sns.distplot( item_category_id_2013 , color=\"skyblue\", label=\"item_category_id_2013\")\n",
    "sns.distplot( item_category_id_2014 , color=\"red\", label=\"item_category_id_2014\")\n",
    "sns.distplot( item_category_id_2015 , color=\"gold\", label=\"item_category_id_2015\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.5 Distribution of item_id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x24681ed9cf8>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuMAAAFNCAYAAACqg2GnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4FNX++PH3zvb0TuiG0IsgBBCliEgTgggXvyJX4CqK4hXbBVFABEQQc0XxigVREeUniFSpiiIiSBUIvbdAek92s2Xm90ckEknIAgkJ5PN6nn0eds6ZM2fm7JDPnj3njE7TNA0hhBBCCCHEDaeUdwWEEEIIIYSorCQYF0IIIYQQopxIMC6EEEIIIUQ5kWBcCCGEEEKIciLBuBBCCCGEEOVEgnEhhBBCCCHKiQTjQoib1rlz52jUqBEPPPAADzzwANHR0Tz88MOsWrWqIM97773H0qVLr1jO//73P3788cci0y7dv0GDBqSmpl5VHffu3ctrr70GQGxsLCNHjryq/a+F2+3m6aefpnv37nz11VeF0i49nyudd2m60nkPHz6cxYsXl3kdhBCiojKUdwWEEOJ6WCwWli1bVvA+Li6OoUOHotfr6d69O88991yJZWzdupW6desWmebJ/ldy7NgxEhISAGjWrBkzZ868rvI8kZCQwKZNm9i9ezd6vb5Q2qXnc6XzLk036ryFEOJmJMG4EOKWUr16dUaOHMmcOXPo3r07Y8aMoV69ejz++OPMnDmTH374AaPRSGBgIFOnTuWHH35g3759TJ8+Hb1ez/r160lPT+fs2bPcc889pKSkFOwP8O677xIbG4uqqjz//PN07tyZxYsXs3btWj7++GOAgvevv/46M2fOJCsri1deeYW+ffsyefJkvv/+e7Kyspg4cSKHDh1Cp9PRoUMHXnzxRQwGA82aNePJJ5/kt99+IzExkWHDhvHII49cdq47duxg+vTp2Gw2jEYjzz//PC1btmTYsGG4XC769evH+++/T61atQr2uXg9LBZLofPu1KkTMTExbN++HbfbTePGjRk3bhw+Pj7ce++99O7dm99//52MjAyGDRvGrl272L9/PwaDgQ8//JAqVaoU2yZbt24tOO+EhATGjBlDYmIi1apVIyUlpch9irs+3333HT///DMfffQRAMePH2fo0KFs2LCBU6dOMWXKFNLT03G73Tz66KP84x//YOvWrUyZMgUvLy9ycnL47rvvMJlMAOzcuZOXXnqJn376CUVRsNls3HvvvaxcuRKn08mkSZO4cOECTqeTXr168dRTTwHw0UcfsX79eux2OzabjZdffpmuXbvy/vvvs3v3bhITE2nQoAFPP/00Y8eOxeFwoGka//jHPxg0aNA1fLKFELcqGaYihLjlNGzYkCNHjhTaduHCBebOnct3333H4sWLufvuu9m7dy+DBg2iadOmjB49mq5duwJgt9tZuXIlo0aNuqzsGjVqsGTJEt5++23GjBlzxWErVatWZeTIkURFRTF16tRCaW+88QYBAQGsWLGC7777jsOHD/PZZ58B4HA4CAwM5JtvvmHmzJlMnTqVvLy8QvunpaUxcuRIxo4dy4oVK3jrrbcYNWoUaWlpfPLJJwW/GFwaiF/q7+f9ySefoNfrWbx4McuXLycsLIyYmJiC/Hl5eSxcuJDnnnuO1157jSFDhrB8+XKqVq3KkiVLrtAahU2aNInmzZuzcuVKxo0bx8mTJ4vMV9z16dWrFzt37iQpKQnI/+LTr18/NE1j5MiRvPTSSyxevJivvvqKzz77jN27dwNw9OhR/vvf/7JixYqCQBygVatW+Pv78+uvvwKwcuVK2rVrR1BQEKNGjaJ///4sXryYRYsWsXnzZlatWkVcXBybN29m3rx5rFixghdeeKFQz39cXBxLliwhJiaGOXPmcO+997J48WI++eQTduzYgaqqHl8vIcStT3rGhRC3HJ1Oh8ViKbStSpUqNGzYkAcffJCOHTvSsWNH2rVrV+T+rVq1KrbsgQMHAlC/fn0iIyP5448/rqmOGzdu5P/9v/+HTqfDZDLx8MMPM3fuXJ588kkAunTpAkCTJk1wOBzk5uZiNpsL9t+7dy+1atWiefPmANSrV4+WLVuybds22rZte9X12bBhA1lZWWzevBkAp9NJcHBwQXq3bt0AqFmzJiEhITRs2BCAWrVqkZGR4fFxNm/ezMsvvwxA7dq1i63rla5P165dWb58OUOHDmXFihV8/fXXnDp1ijNnzvDqq68WlGG32zlw4ACRkZFUrVqV6tWrF3msQYMGsXDhQjp16sSCBQsYPXo0ubm5bN++nYyMDN577z0AcnNzOXToEPfffz/Tp09nxYoVnD59mj179pCTk1NQXosWLTAY8v+8du3alZdffpm9e/fSrl07xo0bh6JIP5gQ4i8SjAshbjmxsbHUr1+/0DZFUfjqq6+IjY1ly5YtvPnmm3To0IHRo0dftr+Xl1exZV8aSKmqisFgQKfToWlawXan01liHVVVRafTFXrvcrkK3l8MvC/mubR8yJ+keen+F/NcWsbVUFWVV199lU6dOgGQk5NTqDf+0t5ko9F4TccALrtWF4PWoupT3PV56KGHGD9+PJGRkURGRlKzZk0OHz6Mr69vofkDycnJ+Pr6snv37iu2aXR0NO+88w6///47ubm5tG7dmuzsbDRN45tvvsFqtQKQmpqK2Wxm//79jBgxgqFDh3L33XfTunVrJk6cWFDepcfq3Lkza9euZfPmzWzZsoUPPviAxYsXEx4efpVXTghxq5Kv50KIW8rJkyeZNWsWjz32WKHthw4donfv3kRGRjJ8+HCGDh1KbGwsAHq93uMg9uKQjP3793PmzBmaN29OUFAQR48eJS8vD6fTydq1awvyF1d2+/bt+eqrr9A0DYfDwcKFC7nrrrs8Ps8WLVpw4sQJ9u7dC+QPw9i+fTtt2rTxuIxL69a+fXu+/vprHA4Hqqoyfvx43nnnHY/L8lSHDh1YsGABAOfPn2fr1q1F5rvS9WnRogUAH3zwAQMGDAAgIiKi0GTeCxcu0Lt3b/bt21dinaxWK3369OHVV1/l4YcfBsDHx4cWLVrw+eefA5CZmcnAgQNZv34927dvp2nTpvzrX/+iTZs2rF+/HrfbXWTZL730EqtWraJXr15MmDABHx8fzpw54+nlEkJUAtIzLoS4qdntdh544AEgv9fabDbz4osvcs899xTK17BhQ3r27En//v3x8vLCYrEwbtw4AO69917eeecdj3q0z549S9++fdHpdLzzzjsEBAQU9I727NmT0NBQ2rZty+HDh4H8wPGDDz7g3//+N48++mhBOePGjeONN94gOjoap9NJhw4dCiYHeiIoKIj33nuPyZMnY7fb0el0TJ06lYiICM6dO+dRGZee94gRI3jrrbd48MEHcbvdNGrUiDFjxnhcH09NmDCBV155hZ49exIeHl4w3OXvSro+AwYMYNasWdx3331Afs/9rFmzmDJlCp9++ikul4vnnnuOVq1aFRvwX6pfv34sXLiQvn37FmyLiYlh8uTJREdH43A46N27N3369CE5OZl169bRs2dPVFWlc+fOZGRkkJ2dfVm5I0aMYOzYsSxYsAC9Xs99991H69atr/ayCSFuYTrt7799CiGEEJWIpmnMnj2buLi4QsNNhBDiRpCecSGEENft+eefL3ZllBkzZlCnTp0bXCPPdenShbCwMGbNmlXeVRFCVELSMy6EEEIIIUQ5kQmcQgghhBBClBMJxoUQQgghhCgnEowLIYQQQghRTiQYF0IIIYQQopxUmtVU0tJyUNXKN1c1ONiHlJTL174VtxZp58pD2rpykHauPKStbx2KoiMw0Puq96s0wbiqapUyGAcq7XlXNtLOlYe0deUg7Vx5SFtXbjJMRQghhBBCiHIiwbgQQgghhBDlpNIMUxFCCCGEuBm43S7S0pJwuRzlXRVRDIPBRGBgKHr99YfSEowLIYQQQlQgaWlJWCxeeHuHo9Ppyrs64m80TSMnJ5O0tCRCQqped3kyTEUIIYQQogJxuRx4e/tJIF5B6XQ6vL39Su2XCwnGhRBCCCEqGAnEK7bSbB8JxoUQQgghhCgnMmZcCCGEEKIiM+pxlcFS5AYd4HSXfsHiqkgwLoQQQghRgbk0OJZe+iur1A0weRQIHjp0gKVLv6Nx46ZYrVa6du1R6nUBSE5OYtq0ycTEzLwsrX37KDZt2lHsvm63mxkzprNnzx9oGvTp05eHHnoEgHXr1vDll3NwuVwMGDCQ/v0fKtjP5XLx0kvPMmTI47RsGQXAL7/8zGeffYzbrdKoUWNGjx6L0Wgs5bP9iwxTEeISFlM2XsYLHr0sJnl8sRBCiFtfw4aNGTNmPLGxe3A6nWV2nJCQ0CIDcU+sWrWCjIwM5s79htmz57J8+RIOHz5EUlIis2fPYtasT/n88/ksX76EkydPAHDmzCmeffZJYmP3FpRjs9mYMWM6M2Z8wFdfLcThyGPVqhWlcn7FkZ5xIS6haFmoWWs8y+vbA/Ap2woJIYQQ5WzXrh3Mnv0hp06dZOfO7QQHh1CvXn3efvtNEhISUBSF4cOfoXXrtsyZ8zEJCfGcPXuG9PQ0Bg9+jJ07t3PgwD7q1q3PxIlvFjv58cKF8zz77HAWLVrBhQvnmTRpPDabjSZNmpZYx4iISJo0aYqiKFitVqpVq05iYjwnThyjZcso/Pz8AejcuQsbNqwnIqIO33+/jIEDB7Nw4fyCcqxWK4sWrcBgMGC320lLS8PX1690LmQxpGdcCCGEEEJckV6vp337jgwb9hRt27bjvfdi6NWrD5999hXTpr3D22+/SW5uDgAnThzn/fc/ZvTosUydOolBg4bw5ZcLOHLkEMeOHfXoeDNmTOf++6P54ov5NGvWvMT8TZs2o06dugDExu7hwIH9NG/ekuTkJIKDQwryBQeHkJiYCMCIEc/RseM9l5VlMBjYsuU3+vXrRUZGOm3a3OlRna+VBONCXMLgcmLKzvDoZXCV3U91QgghREW2Y8c2Pv30Y4YOfYT//GckLpeLuLhzALRu3RaDwUB4eFWCg0OIiKiDwWAgJCSUrKxMj8r/44+ddOnSFYBu3XpiMHg2mGP37l2MGzeaCRMm4+fnh6qqhXriNU1DUUpelrBdu7tZtWo9d93VgZiYqR4d+1rJMBUhLqFz5qHG7vcor9Khl9xBQgghKiW3W2XmzA8Lhn8kJycTGBjIxo0bCgXOer3+Go+gQ1Xzl5DR6XQoSsnl/PLLT8TETGPixDcLJmOGhVVhz54/CvKkpqYQEhJabBmZmRkcOnSwoDe8a9ceTJjwyjWeg2ekZ1wIIYQQogIz6PJXPintl+Eqn1uj1+txu/OXQmzVKorFi78F4OTJEwwe/H/k5dlL7Zyjotqwdu0qID/Idjjyrpj/4MH9xMRMY8aMDwoC8Yvl7Ny5nbS0NOx2Oxs2/ETbtu2KLUfTNCZNGk98fDwAP//8I7ff3qIUzqh40q8nhBBCCFGROd0VImCLimrDxx/PwsfHhxdeGM306VMYMuRhNE1j/PhJeHl5l9qxXnxxNJMnv8by5Uto2LBRiWXPnTsHt9vNG29MKNg2bNhw2rfvxBNPjGDkyOE4nS6iox+gcePiJ4T6+wcwevRYXn75eUDHbbdFMGrUq6V1WkXSaZpWBsvIVzwpKdkFP3dUJqGhviQlZZV3NW4a/q6jqL9O9yiv0mE0GYZ6ZVwjz0g7Vx7S1pWDtHPlUVRbx8efJjy8djnVSHjq7+2kKDqCg69+lbWK8EVLCCGEEEJUAnFx5xg7dnSRaWPGjKNhw8bF7rt+/TrmzfuiyLQvvphf5PabgQTjQgghhBDihqhevcY1B85dunSjS5dupVyj8icTOIUQQgghhCgnEowLIYQQQghRTiQYF0IIIYQQopzImHEhhBBCiArMYstGySn91XVUb1/s1qtf/UOULgnGxS3vav4TU3xV1DKujxBCCHE1lJws1FVrSr/c+3uABOPlToJxccu7qv/EBrQt28oIIYQQN5lDhw6wdOl3NG7cFKvVSteuPcrkOMnJSUybNpmYmJmXpbVvH8WmTTuK3dftdjNjxnT27PkDTYM+ffry0EOPALBu3Rq+/HIOLpeLAQMG0r//QwX7uVwuXnrpWYYMebzQkzsBNm/exIwZ0/n22+WldIZFkzHjQgghhBCiWA0bNmbMmPHExu7B6XSW2XFCQkKLDMQ9sWrVCjIyMpg79xtmz57L8uVLOHz4EElJicyePYtZsz7l88/ns3z5Ek6ePAHAmTOnePbZJ4mN3XtZeampKXzwwbvciGdjSs+4EEIIIYQo1q5dO5g9+0NOnTrJzp3bCQ4OoV69+rz99pskJCSgKArDhz9D69ZtmTPnYxIS4jl79gzp6WkMHvwYO3du58CBfdStW5+JE99Ep9MVeZwLF87z7LPDWbRoBRcunGfSpPHYbDaaNCn+8fUXRURE0qRJUxRFwWq1Uq1adRIT4zlx4hgtW0bh5+cPQOfOXdiwYT0REXX4/vtlDBw4mIULL1/3fNq0N/jXv57go4/+d30XzwMSjAshblpXMx9AJioJIcS10+v1tG/fkTvuaEXbtu2YMOEVevXqQ/v2nUhOTmbEiMcLHuZz4sRxPvroM2Jj9/Dcc08zd+431KxZi3/+cwDHjh2lXr36JR5vxozp3H9/NNHRfVmzZiXLli2+Yv6mTZsV/Ds2dg8HDuxn3LhJLFv2HcHBIQVpwcEhHDiwH4ARI54DuCwY//bbb2jQoCFNmjTjRpBgXAhx07qa+QAyUUkIIUrPjh3bOH36NJ9++jGQP/Y6Lu4cAK1bt8VgMBAeXpXg4BAiIuoA+cNQsrIyPSr/jz928vrrUwDo1q0n06ZN9mi/3bt3MWHCK0yYMBk/Pz9UVS3UE69pGopSdM88wIkTx/jll594991ZJCUlenTM6yXBuBBCCCGEuCput8rMmR8WDP9ITk4mMDCQjRs3YDD8FV7q9fprPIIOVc0fr63T6VCUksv55ZefiImZxsSJbxZMxgwLq8KePX8U5ElNTSEkJLTYMn7+eT3JyckMGzYYl8tJcnISI0YMY9asT6/xPEomwbgQQgghRAWmevvm/7pXBuVeDb1ej9vtBqBVqygWL/6WoUOHcfLkCZ555gkWLSq9VUeiotqwdu0q+vd/iF9++QmHI++K+Q8e3E9MzDRmzPiAunXrFSrns88+IS0tDavVyoYNPzF69KvFlvP448N5/PHhwF9j2MsyEAcJxoUQQgghKjS71adCDLOLimrDxx/PwsfHhxdeGM306VMYMuRhNE1j/PhJeHl5l9qxXnxxNJMnv8by5Uto2LBRiWXPnTsHt9vNG29MKNg2bNhw2rfvxBNPjGDkyOE4nS6iox+gceOSJ4TeSDrtRqzZUgGkpGQX/NxRmYSG+pKUVPpP7bqZeCVf8HhcsXVAW1y/z/Aor9JhNBmGeiVnvAEqaztfTdsq9/cgN6RqGdeo7FXWtq5spJ0rj6LaOj7+NOHhtcupRsJTf28nRdERHHz1X5qkZ1wIIYQQQtwQcXHnGDt2dJFpY8aMo2HDxsXuu379OubN+6LItIsrudyMJBgXQgghhBA3RPXqNa45cO7SpRtdunQr5RqVP4+ewLlixQruv/9+unXrxtdff31Z+sGDB+nXrx/du3dn7NixuFwuAM6fP8+gQYPo0aMHTz/9NDk5OQBkZmby5JNP0rNnTwYNGkRSUhIADoeDUaNG0bNnTx588EGOHz9ecIw333yTXr160bt3b77//vvrPnEhhBBCCCHKW4nBeEJCAjNmzGD+/PksXbqUBQsWcOzYsUJ5Ro0axWuvvcbatWvRNI2FCxcCMHHiRB555BHWrFlD06ZNmTVrFgDvvvsuUVFRrF69mgEDBjBlSv46kvPmzcNqtbJ69WpeffVVXnnlFQC2bNnC3r17Wb58OV988QUTJ07EZrOV6oUQQgghhBDiRisxGN+8eTN33nknAQEBeHl50b17d9as+WvCVFxcHHa7nRYtWgDQr18/1qxZg9PpZPv27XTv3r3QdoANGzYQHR0NQO/evdm4cSNOp5MNGzbQp08fAFq3bk1qairnz5/H7XaTl5eHy+XCZrNhMplK9yoIURS7C+zO8q5FhWaxZeOVfMGjl8WWXd7VFUIIISqcEseMJyYmEhr61+LoYWFh7N27t9j00NBQEhISSEtLw8fHp2Dh94vb/76PwWDAx8eH1NTUIsuKj4+nffv2LFy4kI4dO5Kbm8t//vMfrFbrVZ3otcxuvVWEhl7dOqK3nNxU8LV4lldRMFgMkGGHV9ZBtgNGtIV2NS/PazQQGlJxrm25tPPpVPh1g2d5u3fHt7TreDVt62XG+xa5Fyr9PV1JSDtXHn9v68REBYPhr/5SkyELRSv91XVUnS8Ol3zOrpWiKKVyn5YYjBf1GNFL3xeX/vd8wGXvL91HUZTL9rm4fcGCBej1ejZt2kR6ejqDBw+mefPmBb3xnpClDSsvr9w81Cy7R3mtqoorw45p0s/oknLRqvqgTNuIu+NtOIfeAd5//SqjOF1kVJBrW17t7GV34sxxeJTXaHeSW8p1vJq2VXLzSv345UHu6cpB2rnyKKqtVVXF5VIL3pt0mbiyPFvG9Woovj1wuUpeG/zQoQMsXfodjRs3xWq10rVr6T+ACCA5OYlp0yYTEzPzsrT27aPYtGlHsfu63W5mzJjOnj1/oGnQp09fHnroEQDWrVvDl1/OweVyMWDAQPr3f6hgP5fLxUsvPcuQIY8XPLXzs88+YeXK5fj6+gEQHd230D4XqapaqO3KbGnD8PBwduz46+STkpIICwsrlH5xAibkPw41LCyMoKAgsrKycLvd6PX6QvuFhYWRnJxMeHg4LpeLnJwcAgICqFKlComJidSqVatQWbNmzWLgwIEYjUZCQ0O555572LFjx1UF40J4xOXC+N4WdMfTcL50F+od1TAsPoB+yQHM+xNxPt0GtVmV8q5lmbKYsj3ugdH7apy3uTzKG175vgsLIcQtoWHDxowZ05gpU17njjtaldlxQkJCiwzEPbFq1QoyMjKYO/cb8vLyeOKJwTRv3pKgoCBmz57FnDnzMBpNPPXUY7RsGUVERB3OnDnF1KmTOHz4cKGyDh06yMSJb9K06e2lcVolKjEYv+uuu3j//fdJTU3FarWybt06Jk+eXJBevXp1zGYzO3fupFWrVixbtoyOHTtiNBqJiopi1apVREdHs3TpUjp27AhAp06dWLp0KU899RSrVq0iKioKo9FIp06dWLZsGVFRUezYsQOz2Uy1atVo2LAhP/74I507dyY3N5fff/+dl19+ueyuiqicNA1lfAzKzvM4H2+F2roGAK6HmuJuWRXjB1sxvbEBV896uAbemBu0PChaFqqHPTAGQ4cyro0QQojytmvXDmbP/pBTp06yc+d2goNDqFevPm+//SYJCQkoisLw4c/QunVb5sz5mISEeM6ePUN6ehqDBz/Gzp3bOXBgH3Xr1mfixDeLHSlx8fHzixat4MKF80yaNB6bzUaTJiU/MTMiIpImTZqiKApWq5Vq1aqTmBjPiRPHaNkyCj8/fwA6d+7Chg3riYiow/ffL2PgwMEsXFh4qcXDhw/w5Zefk5BwgebN7+CZZ57HbDZf/4UsRokTOKtUqcILL7zA4MGD6du3L7179+b222/niSeeIDY2FoCYmBimTp1Kjx49yM3NZfDgwQBMmDCBhQsXcv/997Njxw6ef/55AJ577jl2795Nr169mD9/Pq+99hoAjz76KA6Hg169ejFlyhSmT58OwFNPPYXL5aJnz5489NBDPPDAA9x5551lckFE5WVavw5l/lJcfRvh7la3UJpWNxjHtG64etbDsPoopskbwO0un4oKIYQQN5her6d9+44MG/YUbdu24733YujVqw+fffYV06a9w9tvv0lubv4S1idOHOf99z9m9OixTJ06iUGDhvDllws4cuQQx44d9eh4M2ZM5/77o/nii/k0a9a8xPxNmzajTp38v92xsXs4cGA/zZu3JDk5ieDgkIJ8wcEhJCYmAjBixHN07HhPoXJyc3OpV68BzzzzHHPmfEV2djZffPGpR3W+Vh499Cc6Orpg9ZOLZs+eXfDvhg0bsmjRosv2q169OvPmzbtse0BAAB999NFl281mM2+99dZl2728vIrcLkRpMWz7HfOaVaj9euJ6qJjJGGYDrqEt0WoHYPxoO8qCFTC44Y2tqBBCCFEB7NixjdOnT/Pppx8D+WOv4+LOAdC6dVsMBgPh4VUJDg4hIqIOkD8MJSsr06Py//hjJ6+/nr/0dbduPZk2bXIJe+TbvXsXEya8woQJk/Hz8ytybqOiFN0zD/kx56VDZR5+eBBTp05i+PBnPDr+tZAncIpKT3/oIJZFC3DVbwBvvQq7/nfF/O57ItD/dAL9tA/QPTgc7c8JHkIIIURl4XarzJz5YcHwj+TkZAIDA9m4cUPBSnqQ36N+bXQFC2/odDoUpeRyfvnlJ2JipjFx4psFkzHDwqqwZ88fBXlSU1MICQktrgji4+PZsWMrvXs/AICmUeh8yoIE46Jyc7uxfPv/UKtUwTb4MawmI+oVvjHn0+H4V0ssr/yA14wYcl6bVOJhLLZslJySJ0Wq3r7YrZV3GU4hhBCXU3W+KL6lv4KJqru6Zfn0ej3uP4dotmoVxeLF3zJ06DBOnjzBM888waJFy0utblFRbVi7dhX9+z/EL7/8hMORd8X8Bw/uJyZmGjNmfEDduvUKlfPZZ5+QlpaG1Wplw4afGD361WLLMZvNfPjhTFq2jKJq1WosXryQjh07l9p5FUWCcVGp6Q8dQMnIwPbgP8CSv151lsODseC1AjA+FI31k1nYHh2K+udPcMVRcrJQV5U8KVK5vwdIMC6EEOISdocPUP5/G6Ki2vDxx7Pw8fHhhRdGM336FIYMeRhN0xg/fhJeXiUvk+ipF18czeTJr7F8+RIaNmxUYtlz587B7XbzxhsTCrYNGzac9u078cQTIxg5cjhOp4vo6Ado3Lj4CaGBgYGMGvUqL7/8Ak6ni9tvb87DD/+z1M6rKDpN0yrFgmOyznjl5ZUEN9ZaAAAgAElEQVR8odhA2DrnY5S4c+SMfR30eqwD2pKy6b8elRvQaBim9v1wdOpM5tz5V8x7pTpcSrm/B7khVT06/qVKs529jBc8Xk3FZOjAmc9/8ShveL/e2INLd1lIT68rXPu1rWjknq4cpJ0rj6LaOj7+NOHhtcupRsJTf2+nMltnXIhblS4tFf2hgzi6dIVrGdMWHkru8y/h/eYkjL/+grNDp9KvpBBCCHELiYs7x9ixo4tMGzNmHA0bNi523/Xr1zFv3hdFpn3xxZU7xSoyCcZFpWXcthUAZxvPlsm0hhwHTYctJQLIH1ee+9S/sXw1F59xY0hb/yuU8SQPIYQQ4mZWvXqNaw6cu3TpRpcu3Uq5RuWvxHXGhbglud0Yt/2Ou35DtKDgErNbQ4/iV2sXfrV34l9nMzr9n4+At1jInjAZw8H9WL6aW8aVFkIIUVlUklHEN63SbB8JxkWlpD98ECUjHeed7UrMawk8g1/N3djTq5F17nbM/hcIbvgDOtd+ABy9H8DR7m6833oDXUZ6WVddCCHELc5gMJGTkykBeQWlaRo5OZkYDKZSKU9+UxcVi1GPy4P/eww6wOnhEzAVBbdS+HunZesWVF8/8preDkrx30lNfvH43bYNR1YoGSfvBE2PMzsE/4jfMeb8C4v2JnbLcHLemEbAfR3xiplGzuRpntVLCCGEKEJgYChpaUlkZ0sHT0VlMJgIDCx+vfKrKqtUShGilLg0OJbuKDFf3QCTxx9eVYMkm6vgvSEjHf8D+0nr2IUUhwb8lXbpwkkGrxQCIjbjsvmTfvxu0PIneTpzg0k51JXgVqn45o7G5NpEVpP/Yf/nUKyzP8JxfzTOdnd7WDshhBCiML3eQMgtsPqT8IwE46LS8dvxOzpNIyOq+ImbeksmgXU3YVcDWZE7m1D/89TJ3IHFnQ2A5jbh8noXm2s13rkTCHCfJP315Rg3/YLv08NI+2mTR2PRhRCiPFhM2SiaZ0snqjrfP9e5FkKUBQnGReWiqvjt3EpO3Qa4igmWFWMugXU34tB584VrNQ5TACfC27OtSn9qZO+jbsZWambvA50Om3UkbiUC/+xBWMxfkvXJ5wTcfx++z/87f+1xXUlP8xRCiBtP0bI8fp5A/pMfJRgXoqxIMC5ueUY/N0F3Vc//95ZdGDPSsb/wWMG2S+ks4F93My6Dnq8dS7gt6QB3JK0kzVyV4/5tOe7fhrO+zTG5c2iWpdIkRMHl3RezMxqv3LdIbvEQWRMm4zduDKa5c8gdNjy/4CuMSxdCCCFE5SXBuLjl6XS5uM5/C4D3ot9w+5vJjTgN589eljejzj0EW9NYmfcejc9tpU7mDgCC8s4TlLiEVonLuODdgMMBd7NT35J0NY9ws4JZm0Ir1qNPfZE9A7+myY/rCRj3CsebRJHTqBktZEK8EEIIIYog3XWi0lBSbZj/OI+9YwQYLv/on/a5naSsH7Br/tx24mRBIF6oDFSq5xykc9ynVDflccqu4lA18nQ1Oa1/mWB1NUHqao68PQtnQCANn30cJTfnRpyeEOIWZDFl42W84NHLYsou7+oKIa6BBOOi0rD+chKdBrZ7Iy5LO+p/J1tq9Keesoq8lBqE2OKuWJYO6OKXhqrBKZsKwHn90+ToGhHpehl3kJXDMz7BevIYkRPHlMXpCCEqgYtjuz15eTohUwhRsUgwLioHTcP6y0nymobhDis8ESnTGMrv4f9HO/VD9DoHrsTLx5IXJcjoorpZR5JTI92poumMHDP8FwvnqOV+m4x2HTg74kXCv/0Kw8oVZXFWQgghhLjJSTAuKgXDiTT0SbnY765daLuKjl+rPYqiuWhhmIdmaIzL7u9RmXpN5S5HMj64OZvjpEZGAoHZdch296OG6wPqZm2Cf/0Le4uWWMa+gvH3zSBPUxNCCCHEJSQYF5WCZetZNL2OvFbVCm3fH3QfiV51uS/9bUyWdFRLtOeFOp24V62m+fYNZKIn9vBZ8lauJnH1HahOE/4Zz5O3dh3ne/ZFa9ECy6IFWOZ9Abbc0j05IYS4SgaXE1N2hkcvg8tZ3tUV4pYmq6mIW5+mYdl6DkezKmjepoLNaeaq7ArtTe3MP6hrWYnqNqCZ7wM+uariw5MvUP3CaQ5FNqPmhVP45ELyvt5UabkQ31rbyTrTBuf/PoAJEzGtWYn32TPY/jkEtfZtpXqaFYlb0fP7HR2oHXeCGvFnyrs6Qoi/0TnzUGP3e5RX6dBLogUhypD0jItbnm7PAfTJudjb1CzY5kbPxmpDMKl27k6cizXwLPa0mqDzuqZjND+4A0Vz80fjNmhA5qm22FJuI7TZcgzWNFAUHPfeR+4zzwHg9cF7mH76EVS1NE6xwjlZsy7xYTXY0awd2V7ysBAhhBCiOBKMi1uesuKHy4ao7AnpSaqlFnddmE+A3yF0eje25MtXWfGUNc9GkyN7SAytRlx4LUAhYefDoLioeudnKIEOTG2qYRhwF86v3kHt1BbzqhV4f/sFpkb+mNpUw9SmGsaA7Jt+eTK3onA2IIywuJMomsr25nejypNIhRBCiCLJD0/i1qZp6L//EUeTKmg++UNUkiy12RvSncj036mdvQdr9RM4bf64coOu61B1zhzhdPU67GkURXhSHGRXIWH7o1RtNwfNNR73hUDyF0UE5/CaqHWdGD7bhXH4SByvdIIQLwhpgmL9P27mR09nJ6Uy5KFOuP0D2D7+bbbc2ZWDdZtRreRdhRBCiEpHesbFLc2w5w90Z89jb1sDAJfOyK/VhmB1ZdI24VsM1nSM3ml/9opfX++tomk0P7gDu8WLkzXqApAT34SU/fejuH9AH3ror8w6He77InG+2hFdig3z+B/RnUnPr7NevTkf8qFp+G/6mVYzJmELDsPrQhwtPn+f2ueOcyiyKRfc+vKuoRBCCFHhSM+4uKWZly9FMxjIi8pfO3xXaB8yzOF0P/0eZtWGNfgEmqpgT61dQkmeCUlLIiQ1gaMRjYk8cxRFU0k70oWg5g4M4T+g2f1Rs/7qI1abVsEx6V5MUzdieu0nnMFV4R+5qFmbPDqe4tuDitCLrnO5CFu6EL8/tnOwax/Sez9Ig0XzCPr1J9ovnE3SU2P5QfGir6phUmTIihBCCHGR9IyLW5em5Qfj7Vuj+ZiI96rH/qDONEz9hWq5h0HnxhJ0Bnt6DTS3qeTyPNTg+H5sVm/OVLvtzy06VNNYNHsAxlq/ozNnFq5mrQDyJt+HFmzF+OQ8lIWrS60uN4I+O4vqcz7A74/tbBn2Ar+NnkJwdjop9/XEXr0W1RbNp/1Py8jWFLaku8q7ukIIIUSFIsG4uGUZ9u5Gf+YU7t5dcSpmfq36KL7OZKISlwBgCTyHYnBe18TNolRJPo9/ZiqH6zRBuzj0RWfBcao9qArG234FxVF4pxAvHJO6oLWsiWHYOEwfri/VOpUV3YEj1PxwBuYLcfzx7zH8MuJVGh3fl3/WBgPx//coaCqN5swkihyO5aqcyHWXd7WFEEKICkOCcXHLMq9YhqbXo/a4h21h/ckxBtHh/JcYtfxA2Bp8ApfdB2d2aKkeV0d+73i2jz/nq9T4K8HpjeP03eiMuRhrbwH93wJybxPOTwbj7t8d89TlGOdvLtV6lTblQBzGfsNAVTk9/Dk2DnyK4NREQlPiC/I4g0NIemAA1tMnuXt2DKEmHb+luch2yZNIhRBCCJBgXNyqNA3z8iU4O3TihFc4RwLb0zTlB6rYTgCgN2dh8k3GlnIb1ztxsyg14s/gnZPJocimXBp2armhuOJaofeNx9zwewxVYkGf91cGkwH3p5NxdWqIefwilB0nS71upUF3Kgnrox+Ctzfnhj/HkTb3YLN60+jY3suuZlbzVmTe0RrzR7PoemQbLg1ic1VcBn2xL4wy2VMIIUTlIMG4uCUZ9u1Ff+ok2b378kNmEIH2OO5IXlmQbgk+haaBPfW2Mjm+Do0GJw6Q7h9MYnB4oTR3Wh3yjnRDzaqCPuxAflAevgf09vwMej2294egVQvEOvwzdPEZZVLHa6WLT8dr0Cxwqzi/mUVeUDCHIpsSnJZI2CW94pdKjO6PVqs21Z76F9XTE7iQacd55myxL1N21g0+KyGEEKJ8SDAuKhRN09C06x/CYF6+FE2v55e7emBXFTqcn4teuzh5UMMadBpHZjiq03rdxypOrfMnsNhzORzZ9LI0zR6I88zdOI70QM2shj70EOZG36NnDbjOQYAXtk+HocuxYx0+B+zOMqvnVUnPwfrPD9Gl5mCb+xRavQhOV4/8s1c8ttjfGDSzGeeUN9GnJNNxwvOkaQrZa38kb+XqIl+KBONCCCEqCQnGRYXyc6KDbZluTuS6yXFfY1CuaZiWLyHjro4ctgRyp08GwXnnCpJNvgnoTbY/h6iUHb2qUu/kQZKCw7ngNBdd1Tx/nGfb4TjSEzWjBnq2YEp4AKvtfyiRcdjffRj9H6cxj/8WSuFLynXJycNryMcop5OxzXkCtXktVA0ORzYhKC2JsOQLV9xda9SIjFZtqbb1V/ROJykBITeo4kIIIUTFJcG4qDDO2tyctbmxKBDv0Nid5WZPlov4PBXXVQSi+n2xGE6eYPs90YSadLT2LtzLagk+heoykpdR9s+EjDh7FKMjj622QFRFV+zL7fQnL64debqXcPmNQNFSsObNw9JhEe6FtTDt2YrxS8/WHi8TeS6sT85B2XMG+/+G4L6rHgBnHWZyrT7UP3nAo5H3OQ0ao3fkUWvHZpIDw8q2zkIIIcRNQIJxUSGomsa2DDd+Bh3NfPS09tMTYVFQNThuU9me4eZYrps8teSgPG/xYlS9nsP39KRjoIFLnzGj0zuwBMRhT60FWtlPEjS6XdQ9fZhjTm/OEEaWw33FV47TF7fvMHKs48m1jMClb4jSLA6WgNm4CP3WQyUftJTpTiZiHT4Hw6+Hsb89EFf32wvSjtq90LuchCed96gsW516qAYDjX7+nuSgKmVVZSGEEOKmIcG4qBAO5aikuzRaBRlRdDqMio5qFoUWvnpu99ETatKR6NDYlenmtM2No4ghLNkujR+THJhXLOV81N10ql+VAGPhj7gl8Cw6RcVWRhM3ixJ5+hBGVGKDu3m+k07BrW+A3TKEbK/J5Kmd0T0AVuPHKGeOlV1lL6HsOYPlqc/xvudN9L8dwT6pP64BbQvSVU3HsTwrVZPi0KuerR2umUzYIuoSseVn0gKCcSvyX5AQQojKTf4SinKXp2rsynRR1ayjprVwb7VOp8PXoKOul56WvnqCjTrO5WksjrMRm+XCrWmomkZslovvEhxoW7cQdOYEvg8/RLj58o+3JfgUTpsfrtzAG3V6mJ0ObrdkcsI/ikzjNYyT1nnj8O2LLW0AVFfxMvwPQ+Ku0q8ogKah/Pwb1oEf4B39XwybDuMY0YWc3ybgHNqxUNYLzlBsqp7q8Weu6hA59Rvhe/4sfnFnSPWXceNCCCEqNwnGRbnbk+kmT4W2/gZ0uuJHHlv0Oup762nuoyfYpLAtw82ieAdLE5xsy3BT1awQvXo+qo8vjr79L9tfb8nE5J2KvYzWFr+SKGs6iuZmd2ivay7DVaM9ttTHIQUslrmY0leX3qROTcO0fh0B3e7B2u8xlKPx2Mc+QPaW13G8HI0W5nfZLscdtTCgejxE5aLcBo0AqPPbelKCZNy4EEKIyk2CcVGuMl0a+7Pd1PdSCDZ59nH0MejoGm6hR4gRi6LDDXQJNtDNkI3P90vJ6zcAvL0v288adApN02FPrV3KZ+FBnRU3jVI3cNyvNWmmqtdcjrvR7djsw+EnHWbjGszJ/wYt+7rqZtj6O/4P9MR/4D9Q0tJwvvM6znXPoxvUCpMuD1N2xmUvY1YGJ+zViTDZMLhdJR/kEs7gUBzBoTT4ZTVJMolTCCFEJWco7wqIym17hgtFB638r/6jWN2iUN1iKnhvmf8tOpsN+6NDisitYgk6jSMjHNVluY4aX7tmqT9wOLADu0Kj6RL3yTWX427dCFvOk1hnfIL+uR8JTOsM/suAq1sdRr8vFu+pkzD/sBZ3WBWypv0X+z+H4K+cRvt1+hX3PW+pQ05Nb+qbEq7pHHIaNKL6jt/JtHqj6nQo5b1soxBCCFFOpGdclJsLeSqnbCq3++rx0l/dsBFFrxR+hLpewfL1XJy3N8feKqrwo9V1Okx+CehNdmwpEWV0NiWzuHNomvojZ/xakGS5vt559z2Nsd8xFJ7Qoc88AaeiMOct9mhf/ZHD+D71GEH33o1x21ayx71O6tbd2B97AkymkgsAjvq0QK86qWPMuab659ZvhMHhoNrubWT43rjx+0IIIURFIz3jolxomsa2dBfeemjme/VLDLo0OJHuKHjvs2cXVffFcmxSDBcu2Q7Q2grW4FOoThN5mdc+ROTvdFYjQXdV9zBv/vfexqk/cyCwM7tCo+l+9n/XdXxXrxY41DcxR78Cc33wqz2UXNfv5Hi9AbrLg2r9wQN4zZiOedkSsFrJfe4lckc8i97nCL72kRjSY8kz9Qb9XVc8roaOoz53UDv3IObQy4cDecJ2WySq0UTkph+Jf+AhAjNTr6kcIYQQ4mYnwbgoF8dyVZKdGp2CDBiuMGnTU+ELvsRt9SKxzz8uT1QzMPufJzc5ErRS/DFIZ8d1/lvP8jZ9HgCTauf2lLVsr9KfeK96hOceva4quB7phyNDj2/0aPgPeA3+CPPJZWRnT8XRsjeYTOj378P7nemYVyxF9fbBNvJFbMOHYPJZT4C9N4bMfag6P1z6ZnjZ3kFHDGpkMO60CNzpNUEtHNjHm2uRbQzk7pTlQPtrqrdmNJIbWY+6v65j/5AR13UNhBBCiJuZDFMR5eJAtpsgo45I6/V/BJWcbEJXfEdSrwdx+/lflq53rkGnqH+uolL+GqZtxMuZzs7QaEpjpLR92FOw5wDZpjdwftwYxe8C/sFDCX6zGkEzmhA0+y6MQWvI+7gbOTvGo3suk0DlbnxzXkBDIcv7fVICD5Phv5rUwIO4LCNB78RYYwfmxssx1tgKirPgeMd870DRXETk7LuueufWb4T/hXO4s7JK5ToIIYQQNyPpGRc3nFPVSHFq3O6rv+JShp4K/X4xhpxs4h8eXGS63rEMZ24ALlvAdR+rNBg0J82TV7Ol6kDivBtTI+fA9RfaqBG2Z0ZiYyT6zN34Z/wT/bNngLMAKNgxsw4z69DyTOSZ+mGzDMNlaA2XtIGqVEU1D8F1JB6dNRV94CkMIcfQXFZc8bejkT9evFbuISyq7bqqnFM/f4nDWtt+Jat2DfyyM66rPCGEEOJmJMG4uOGSHRoaEGYqnbW+w7/5kpz6Dcm6o/VlaT7qThT3QbJTWpTKsUpLvfTNxAZ3ZWdYH6qfPIiuFPuG3X4tSPXdi07LBNyAig43aC7AjaYLQFMu/wWhMB2aLRiXLRid4kIfchh3ah0SdI3INIbQNnXNddfTFRiELbwakZt+5HCL0RKMCyGEqJRkmIq44RIcKgBhHq4rfiVeB/fht2cn8f83pFAPLwCai3quF9F0IRVmiMpFetzckfQ9qZZanPYtgy8KOgVNCUBTgtGUUFQlHFVfA1Vf24NAvDBn/O2gKRiq7uaozx3oNDd1smNLpZq2ug2ouWsL6VafUilPCCGEuNlIMC5uuESHhr9Bh+UqlzO8lFdOBrUzE6g/7yM0kwnzfZ2pnZlQ6NU0dzo+2l7c5lFoqrEUz6B01MncTkDeeXaFRqNW5FvRZcWV2Ai9fxw2fzs1c49gVa9tScO/y23QCL3LidfxIzJuXAghRKUkw1TEDaVpGokOldqWooNPL0MWtb3TSyzHqtpwnDiA19LFZDVqim3TlkLpBq9k/O97l+zzTTFHdgR2lEb1S5WCRsvE5fxU8yl2h95Py6Tvseg09C4HJg+GbGhmC+4bUE8Ad3IDdMFnaOsVw+nkJ0utXFutCFwWKzW2bSK3fXu8baUT5AshhBA3CwnGRZmzmLJRtCwA0hwKeWoANbwy8TI6Lsur1znJy/yhxDI1dw5e2+PR221kRrX7eypV7vgWTVNI3N2fmnVLZ2x6WaidvZd66ZvZE9yD8JyjNHA60VLT0WL3l7ivrlmTG1DDP2l6DmQO4faQmXibFgK1Sqdcg4GsBo2J/O1HtvV+UILxa3TpPVYSVeeL3SHDgoQQoqLwKBhfsWIFH374IS6XiyFDhjBo0KBC6QcPHmTs2LHk5OQQFRXFxIkTMRgMnD9/nlGjRpGSkkJERAQxMTF4e3uTmZnJf/7zH86ePUtQUBDvvvsuoaGhOBwOxo4dy759+7BYLMTExBAZGYmmacyaNYsffvgBm83G008/Td++fcvkgojSp2hZqFn5E/7O2+sAd1LFtQE1K/OyvIaADh6Xa1m5HkdwKLaIyELbfWvtwKvKERJ398dtrxgrqFxJ2/iFJFoj2Fh9KDVZwNWN6L4xNGCLcRihzt8ID9tJXloVcJtLpey8OnUJ37MTZ1Z2qZRXGV16j5WY17cHIMG4EEJUFCUOVE1ISGDGjBnMnz+fpUuXsmDBAo4dO1Yoz6hRo3jttddYu3YtmqaxcOFCACZOnMgjjzzCmjVraNq0KbNmzQLg3XffJSoqitWrVzNgwACmTJkCwLx587BaraxevZpXX32VV155BYDly5ezefNmFi5cyFdffcX06dPJzLw8kBMVX7wzBLPOQaD++tpPWbMP496DZLS5q9DETb0pm9Bmy7Cl3EbGiSs/SbKiMGoO7ombg0Oxso7uaBVw8PQZr4akmaqSnNQN9E4MVUruufdU7p9LHPofKJ1JoUIIIcTNpMRgfPPmzdx5550EBATg5eVF9+7dWbPmrx6YuLg47HY7LVrkrwjRr18/1qxZg9PpZPv27XTv3r3QdoANGzYQHR0NQO/evdm4cSNOp5MNGzbQp08fAFq3bk1qairnz59n9erVPPbYY5hMJkJDQ5k/fz4Wi6V0r4S4IeJdIVQxJF+28MnVMMSlYhq/FGejeqS3K9yTHnL7UhSjncRd/8fNND85KO88bRIWcYbabHdU8WwnnQ5VUXAZ9GTkuXEZ9MW+MOqvuW5uFDaE/gN/RxIRKWdwp0SiDz6Gzlw6SxG6/fzJqB1JzW0bsZvkvhZCCFG5lDhMJTExkdDQ0IL3YWFh7N27t9j00NBQEhISSEtLw8fHB4PBUGj73/cxGAz4+PiQmppaZFnx8fGcPn2a48ePM3fuXLKysnjiiSe47bbbrupEg4Mr78+yoaG+5VsBZypgwe42kpocQBPfOHx9iw66nHoFi+UKK5+43ISN+hpUDduE57HE/dWNbAndj1+tnWQc7YnirMnF72s6HRg9DEZ1lF/epjlbSCaKTXn1uM2vLtUdp66Y36XTICcbXfoFbH8eozjewQF4hQV7VFeSDWD567+GbT6dSDOF0z9pNj5mIL0FBJ7BXGM3Lrhye11C0RWfN7dZc2qsXMKFfw0nQHFjNOrx9eRzm5sKxXyWLuNlxru874VSctk9/ec95hFvM97GW+M63OpCQ33Lrm3/dp9fkdFAaIh8ZspSuf+dFuWqxDtRVdVCT0nUNK3Q++LS/54PKPZpi5qmoSjKZftc3O52uzl8+DBz5swhOTmZgQMH0rhx46sKyFNSslHVCvj7fxkLDfUlKcmziV1lxcuYh5pl57QjEIAgNZ6sLHuReU0BKna7s8g0gKCZazBvP4Hj7QE4q4RiPx4HgN6cRXjjb8jLrELS/nvR1L/K0DRwOj1bd0SjfPPey48k6mqzNGgwg85MveJTLvX2PBwXjpK1OQ6LxXjF6xbwYE9yUlI8qqvZ14HL7gIgR+/LJr8e1M7ZT430PeS3mh59fBOM1f9A5/4du92z+0rVKLaOhsh66DQNQ+xe7LfVwul0k+XB59YrN/+z5QklN4/ccr4XSkNR9/TFe8wTCnnkOm/+63Cru9jOZdW2/i4X6p/3eYnlOl1k3AL3TkVVEf5Oi9KhKLpr6vwtMRgPDw9nx46/loVLSkoiLCysUHpSUlLB++TkZMLCwggKCiIrKwu3241ery+0X1hYGMnJyYSHh+NyucjJySEgIIAqVaqQmJhIrVq1CpUVEhJCjx49MBqNVK1alebNm3PgwIGr7h0X5USv4FYULrhC0aESYkrDrRQzhOQK41cs248T9ME6MvtGYYxujpKQjH/kRnyqxWINOQ7AuY3/RlNv3kWCzDjo5XWCb9T6/FBlEL0uzEEphRW4dbZc1J9/9SzzgLaoSn47/BbSB5diomPKYjTlr+eEqmn1MIQdRKdfAlz/ZGpXWDhptSMJ3/YbObeV0kotQlRURj2uEm7ri0PP0N88w+2EENemxLv8rrvuYsuWLaSmpmKz2Vi3bh0dO3YsSK9evTpms5mdO3cCsGzZMjp27IjRaOT/s3ffcVJW9+LHP+dp03e2d5bei0gRFAR7L9GoKUZjismNyTXlJvdn1KvX3GtiDJqu3mhijIkxVtCIaNQYRRDpRUB63WX7zk6fp5zfH4sgwrKzu7MUed6v1/MCZs5znvMM88x85zznfM+kSZOYO3cuALNnz96338yZM5k9ezYAc+fOZdKkSei6zsyZM5kzZw4AS5YswePxUFlZyZlnnsnLL7+MlJLW1lZWrVrFyJEjc/tKuPqMI6ExabEjXUSe0kZbOkVj0jrkdsD3k3RQZBJNtuCNbqLiT49iXR3E/FEBHvkABaU3UXrS86hGjJYPzmHH698n1TzoaJ1mzlSoCaY3zWFzcDx/qfkh2/xH/r0ezdhsUapZm3cqo1reQIvXEc3YH9kkiZb+CHs+qic3PTr1k6dRsWoxMpHISX0u17HKkrCpLXPYbWvUZFNbhhPwhq7LdcLpsguxrKyM7373u1x//fWYpslVV13FuHHjuPHGG7n55psZO3Yss2bN4vbbbycWizF69Giuv/56AO68805uueUWHnzwQSoqKrj//vsB+PGVsRgAACAASURBVPa3v80tt9zCxRdfTCgUYtasWQBcd9113HHHHVx88cUYhsG9994LwA033MDPfvYzLrnkEmzb5qabbmLgwIF99Zq4+oCUgla7mBp9SzaFKXWeIk8uYl9frA/4ecdfi/gHNv2IR6+lcUF/zHhJp1Udr05ue4OQ1cL8osuZXfVN+sfXcnrTbIoztUfk+BLBovJr8FkRTmp6+ZBlkk0DCJR9QKhmMW0bz+r1MROjxiCekaibN3Vd2OVyuVyuT4is7udfeuml+7KffOjhhx/e9/cRI0bwzDPPHLRfVVUVjz/++EGP5+fn89BDDx30uMfj4ac//elBj+u6zq233ppNU13HqIgTxkKnSG3ssmxYvk1Yvku7mEhaVGMsriX8x8VELpxK26XTsQlT4QhS8WGY8d1HoPVHngCGxlYwML6GVeHTWVR4AX+puYXR7Qs5tfnvBOy+HV+4KXwKjb6BnF77GIZz6PGqdjoPRxlHeMAi2jaeyeGnkHbN6/fROHg44ZVLe1WPy3XCkRLIbvy3y+U69hy/g2tdx5Vmu6P3uqtgXKRXU+K8QEyMpt6+hvzH5hP65QoSE4bScMnVID4cWXVirNSoSYsJbf9kVPsiFhVewMr8GawLnUK+2Ui+kyRUGMJ/RhUFpAhYCfKc5CFDYrU4gz62H+bqnV0eM+0IlpZ+ipLEFgZH3jtsWUe7DCP0v3iLtvZ6iJBuW2w7/VwmPfZb4g0NUJRlikeX60QmE/hSf0BzNiKTd+AVJTiiCEcpRiolWOpokt5/A+F+3btcxyr36nT1KW8yhmFFiWXy8ZGgOlXX6RxNR7cwWn6KRZjI8qnU3H4/ns31xM4eQ8Pd10Bnkz5PAF4nwcym5zgp8harwqfTppfS5qlgu12A5ds/odqw45Qmt1Ka2ExpcgvFye3oMoMsGIbwjc/qWAuThSTVEGfXP7R/mFAnpHoWtvkzwgMW5WS8fsvJpyD++BuUV1+BkWN7XZ/L9UkmnAi+9EMoTj1p/WwUvQbbSqDIJhSnHsVegzf9F3TzTaKhR5HCTZ/nch2L3GDc1aeUeBTZvIV6fRQlqQ3Yu9d0UlJSMH4F0Ez6V4OoevD3mNWF1P7fV4mfNfpINvmYlm82MaPpeQDU4UPI+KbTsOIZkr4ympUSGn0DaPAPYlfpGACEtClM7aK/00yValCqNeG1MgfUKYGWQJjtRZXsKKqkNhVmaGQBJantXTdI+IntOplQv2U0rrwCx+rdoj1GMEDDkJGE5r0M3/5+r+pyuT7JhNOEP/UAQkZJer6GrY1ACV1Awqw4oJw39SjB+PfIj1xAJPQUjlp1lFrscrk64wbjrj4XRydqlDC8tfPUeoGydRjKJuQ9HvxPbKL5W+fR+vWzkV7jCLb0+CME+K12wqk4ReZGhkUWAJBWfDT6BtLgH0S9bwirGMcynwYzxlAUa6WytYGSWCsNoUK2F1US9XXkRS2KtnKKr40hHzybdRsi26YSHvguwerltG87tVfnU9zSwAfnXMb0/7uXxJ46nPKKrndSFewsMk4oJ/CdFdcni2Lvwpd+CKRDwvstHLV/p2VT3i9hKzXkxa4nP3Im7XlPYWnZ3SVzuVxHhhuMu/pcnZoHQGny0JlUjFA9gYr34UVwdk9g59wzMQd88jKkHEkeJ0l1fC3V8bUA5I0aSV18OtvrFGoLSllXOZjVqoZmmfRr3cPE7e/Tv7mWYDqJ7+opNHcyafNQ0q01pCPlhAe82+tg3JtJsX3aWZz+0E8x/j6H1Ff/rct97L2pMwEC69aQv/Atms+5iFTNgAPKlbsp4lyfAKq9EV/qEaTwkvT9O47S9dwK0zibtrx/EI5eTX7kAtpDfwBlaDeOKjpynndBE0CWC6G5XK793GDc1efqlDCKY1KU2nHQc4qeJFy1ELEFUovGwHO/xaz/11Fo5SebJmyqnAgl22th+/vYQtDmzyM/EUWVTi9rF7Rvm0rJSbMx8urItGfRm30YajhM45CRhOc8n1Uw/iGtrZWyZ55ATSXxbfkVkanTaTr3IqSnd0NnXK5jhWqtxpf+I44oIum9CankZ72vrY2iNfwG4fbPkBf9HLb3e2R75Us68qJ3ZUi+4QYVLlcPuNeNq8/VqXkUpXaiyYNTb4WLFyIwyfwin/hPryBwmBU4XbmjSklRPNLreoRPp/C0KoS4BClfpPTUNSSikw5ZVinMbphIcWsD6869nBkP3oNSV4tTUXnY8saYagqVNHn/8TCKkLQ9fC+euW8Qnv0Koc1riX/nRsxTJ2CEo2AESGW6v1Sxy3XUyTS+9BM4SgUJ7zdABLpfhVJGW3guebGv4UndhxM8AyfmZi1yuY42dxClq0/ZEuqV0CGHqKiRNvTSZuTTOm1XzwDD/W143BEprNqnMXe/QrqtAo/nNay6J7Fqnz5oE0oyqyqLWhpYf85lAHj+PqfL8orPxnjkbvSVa2m/bixp/2LarwrReueZSN0k79Z78N/6H8gtf0ORfZuf3eXqK7q1EEGClPHpHgXi+wg/7cHfI0UZWtlq6CJjksvl6ntuMO7qU41SxRbKQcG4SJrkL5mPUKF94ERkyHOUWujKlWTTQBQtgyfcu1VCg4koyYGDaRs+Gs+c57ssLz7YTPDpNaROqSY1Y/9ENnNoEc13n0Ps06PxvrcLz6d+C5H2XrXN5ToqpI1hvomlDMZRc7D6tPBge7+KEmhGCdX1vj6Xy9Urblekq0/VOR1vsdLk1v0POpLwbxehXp/ESRikg9U9qttTVkjhaV2XE77j7DenAEfperiO2ssVL3MtEy3DzvjwFW8l3davx/UIoEKxWH/OpUz9bRdDVZJJ9B/9EifPS/tXJnJQEntdJX7lKMzBhRTc+zbq24vg/OE9bpvLdTRo1jIU2UrKuCpndTr6pThtv0QrX00mWkFvV9B1uVw95wbjrj61x9HJc5L4rf3jk4NPrMKzpg55pkIqWkVPvwQUzcSqfbrrgmO+06P6j6ZopuuMBIVHoB3dI0g2DyRQvhbFiONken4rvUK1WXX25Uz97T14XpxN8ms3HbKcce89iJ11tP1wBjLYeRrMzOhSpN9AfetdOP/6HrfL5TripMQwX8cW5djqqNzVK3Ss+tEYNYtQwrtwIj3/Ae1yuXrnOOsydB1vGqRKmbN/nK6+vpHAyxtIfb0S4XHIRA4/Oc91fEk2DwDAV7itV/VUKBYtA4YQHzkG3+8ewve7B9BWrQB7/48UY95c9L89if3ZyzBHlx6mNkBTcCbUoL79bq/a5XIdaZ74a6iyDsc5DSMexYhFOt00y+xW3U5bDU4qD610NeoLaxG17jAul+tocHvGXX3GdCTtUmW0E9/3mPedHTgeFedKH9JRSLd3EUS5jitOJkAmWoq3aDvxPaPo6V2PEmGjCVjz7VuZ9OMfErz9lo76gyGsU6ZgTjkV3+8ewB4xEuurn4U9z3XdtimD0O97FVFfjyxzM0i4ckxXsbKdC6lm3w+mxR9BZvzY61Xg/cOWVU6/uJvf6gr2iv7oU1ejRFfj/HgLmR+fC3nuHB6X60hye8ZdfabV7PhmKvowGLccvO/tIj2xEqNwD5loGUj39+AnTaplAJonjh5s6nEdioBSQ7By2nm0LFlN8/K1tD/4COlPX4OyexeBn/wPIpEg/bP7wNCzqtOZOggA4523etwul6szluzIxZ3N5mQZtIecxSj2MqymYeT869o00Z5eg/bV1cgNAvlDAxFLoP98AVi9XXvA5XJ1hxsJufpM695uouK9wbixuh4lliFzYTE+z04S9QdOpPMKiWqmKUx2fatUVRyszocIu46iVFsVIVvDV7gNM9bzlVTLDIXlUZuMIzGqqkl/+hrSn74GANHcjEgl8XpUaF6dVX1yZAUyL4Q+/y3SV17d43a5XEdKtf1LpMjDbhmU03rVLZvQvvEVlOXvY5/eH9upxMhfiHXfQLSbtiL/tBzryxNzekyXy9U5Nxh39ZlWU6IhCcsU7YB34Q6cgI4ypWNcYzpy4EqNwjShtQ1r9Zou6xajh4MbjB+bHI10azWegl2w62RwevYxU+5RIGrTkJFUew8c7iKLijqyIzd1Iy2bqmBPPwXjbXeF1xOd14hlnXPeEaGjslCUx/qAImcutucr4OQuP773z48RvP3/gaGR+c6pOKfWQEbixDegTtuDdcVQtOc3IvvnY589OGfHdblcnXODcVefaTUdCoXdMWo4beFZWkvq1H54CvZgJvJxTP/RbqKrjySbB+Ar3oY3fzeplv5d73AIJYZAAHvSDtXe3Nyit2dMxTP3dZSdO3D61eSkTtfxR5FRnOi87MqGLgCOfDBemvwFDh5s47PAwzmp0/fQbwjecSuZGWfCz/8TZ9Mf9z4jsOrHYgx6E3lTAHtzOdrvl+FU5SFH9Pzulsvlyo47ZtzVZ1pMSZHSkf3Cs6IOJWWRnlmBHmgi7WZR+UQz48VY6QDeXmRV0RVBkS6oT+du/Kp9+tSOut95O2d1uly5Zsg6CtJPUK9cC0pukph6nn+G4B23kr7kciJ/ew4qDpw878RKsWOlaGXrMb87GVnix7j/HWhK5OT4Lperc24w7uoTSVuScqBIWAB4F+zEzveiTDYR4uAhKq5PGkGqeQBGqAHFiHddvBNlHoXGjMSWuVmyW44cilNc7A5VcR3TKu0HEVjs1r6Vk/r0t94k9K2vkzl1Gu0PPAyqeohSAmvPGISeQq2uw/zB6ZCxMWbNh0QyJ+1wuVyH5gbjrj6xL5OKsCEWx7OyjtTUfngK6rBNL1ai4Ci30NXXki39EQJ8hdt7XEe5R2ADTZncBOMIQWb6DPT5b0GOAnyXq7saUzaxTvIgKjJOhf1H2owrSYkBvT6WtnoleTdciz1kKO1/+it4vZ2WlYlinHQQJbwDWZ2H+e9TEdtaUX/5SK/b4XK5OucG464+0Wp2DC0oUmyUtxcjTIfUtCqMvD17e8XdpZc/6TpyjpfgLdwO9CzwLTM6PqL25HCoijltBmpdLeqWTTmr0+XKRtqRrI/bzKtNsjJmsyZm02Y6yI/8MCx2XkAjSpPv670+nrJ9G+HPfhoZDhN58jlkOL+LPQROW3+UYANoSZyJVTgTK1GfehEsq9ftcblch+YG464+0WJJPAr4kaivzccqCaCMs1FUy1118wSSbB6A5o2hB5p7tL9PFRTrgo2JAwOW3jBPnwGA/rabb9x1ZDhSsivlsKzdptWUjC8w6O9VSNiS9+MOq2I2zXuD8nL7cRJiCHFtWq+OKZqaCH/mCjAzRP72PE5Fdp+7dlsNQoCav6Pj3zMHIuqbKJj/z161x+Vydc4Nxl19otWUFOoC0dqCsnQV6VP7YeTvcVfdPMGk26pxbBVv0bYe1zEmpBKxJNtTuekdtwcOxq6s6hiq4nL1sYglWRm12Z5yCGuCk0MqYwsMqr0Kk/JUBvkUTAnr4w5bYx8QlgupV74Aood3D5NJjNdeIfz5T6PW7iby+FPYw4Z3vd9eMp2Hk8zfF4w7EyqQBfmUPfNEz9rjcrm65KY2dOWclJI2UzLUr6C98jLCdkid2o9weAGZaKm76uYJRDoa6bZqvAU7sWWqR3UM9CksVWFVu01/r4LoaZDyISEwp8/AeP1VcBxQ3D4JV+5JKdmSdNiTkXgEjAgoFOkHvtcUIajwCMoNQZMpqTGfwJEqdcpn6Fbi16Y46rI61Ie/TfE7SxHJJE4gSPvv/og1ZWonOwkc5dDXktU2AKNiBdIbQ2ZC2FdeSNHjz6K1tWLlu/N9XK5cc7+FXDkXs8GUUKAraHPn4gyoRg4VaJ64m9LwBJRsHoCiWgi7ZxlMFCEYG9JoNCV16dwMVclMn4HS3Iy6bm1O6nO5Pm5XWrInI6kwBCfnqQcF4h8lhKBUtxmrPckm53y2Z7q4eyglYksL2pOrMb4/D+83/47++6WIjVtJXns9bU8+R/O6LWQuuKjzKoBoxj7kFmmqAsAObiOasbE/cxlKJkPJi8/25KVwuVxdcLsoXTn34eTN0sbdqEuXYH71s3jy3wfclIYnIjNWgp32oyhzgc/2qI6hAYXl7bAqalHp7f3Sq+b0jnHjxvx/kRw9ptf1uVwf1Zxx2JFyKNEFA30H383xqxH6B9oOeMyXeQ1PppGd4hrq0hbT1N0UBiwUTWID2A7K+iaUxbtQF+9GNCWQQuCMLMG8bjzOhArENf9DXB/W6/Y7pp9MtBhvwQ7ie0YixwwnNmI0Zc/+lbrrvtrr+l0u14HcYNyVcy170xqWv/Q8AM7Z0/CEX3NX3TxhCZItAwhUvIfmuwAr2VVGh4NpQjA6qLKk3aYp41Bs9O6mnlPdD2vgIPT5b5H8+jd7VZfL9VFxW7Ih4RBUYYj/0MOqVBkj3f7yAY8V2Q9jESakOGSkwuqGnQxTVyCKTkWsa8T4+TuISBqpKzjjynGuGo09sQryPPvq6PUQro9ItdaQV7MMzRcBIaj/9OcZfPdt+DesIzFsZM6O4zrKdJVOsmweRBOAafdpc05UbjDuyrlWUxJUwT/7WeyxY5HVBRiBJuL1I452005oSmkBxilZFPTlfvRaqrk/wYq1hPotoXXDOT2qY2RQZWXUZlXU5qyi3rfRnD4Tz+xnO1K2ae5Hoav3TEeyLmajCRgZUFGyDI5V2YZfrqNVnE2BGqFK28665HD6B9ZCfTPGLxYgfTrmlyfijC8Hr97HZwKp1mqC/VbQ1C+EY6s0Xn41A396J6XP/ZVtt/yoz4/vOjIsCZvaMlmVHZJvuEFjH3FfV1fOtZqSmt1b0FetIP2ftyC0LQgBZqz4aDfthCY0E1n3TNflRt6c82PbmSCOMpHwoHdo3XgmyEOtAHh4hiIYGVRZFbWJmA7hw4zBzYZ5+gx8jz+Ktnol1skTD3jOa8RQZDSrehwRIpUJ9qotruOfLTtyiJsSxgRVjE4mRx5KnlyMQNKuTAFglLGK3YkaNsaHM+rf/xMSJuZtM5E13b+r1FMRpZqYfQbl/vd4pLGEqqDBkDPOpez5p9j2/TvcH7AuVw65EzhdOWVLSZslGbyoY7Kefe65KPpGAMxE4dFsmusoc7TPovvbCFat7HEdo4MqKrA61vtbpZnTTgcOnW9ckVGc6LystmyDdtcnl5SS95pN2u2OoSkhrRvDRaRDnrOIhBiCKTo6LPLUCAM92yn/9Qso85dhfnXiEQ3EHQRvV17PB9alhJVdjDcWsC3lsOiiz2A01lPw9htHrC0u14nADcZdORWxJBIoXfEednkFsrIKRduElQ4gLU+X+7s+uaQ6jUy0lIKh/6SnK3L6VcHQgMLGuEPc7l1mFVlaijViJMb8nmV5cbk+tC7usCFmUeURlHRzPoNPbsagmXZxYArCUxf9hVP/8Ct2XXMNzsyBuWxul9YUnUODfzAFu6NIR2Wm928M9ytsnH4uifwiAk89gZWjRbhcxw+/FsWv12W1eY3Y0W7uccW9z+TKqda9kzfDy97DmjwFhEDRNpGOuL3iJzyh0LppJmUnP42veDPJpiE9qmZsSOODeIb3ozZn9LJJmekz8P3lT5DJgNH7LC2uE0+r6bCozaLap1BjdH8CZZ58FxsfMTF232Pa7haqvvs7WkcM5anv/Iwv1P2EPKs1l83uVIunkuXFl9C/fRkDIqtJRyrwqP9gYqqWcbpB7YWXM+CZP/P6jnrOzheoHzllv55PxuNO0s92UuTxNiHywzuGWZUNXQC4w/ey5faMu3Kq1ZSEGvdg7NyBOfkUoAmhNrpDVFwARLdPwkoHyB/6Zo/ryNM60sWtj9ukZO+yR5jTZiCSSbTly3pVj+s4JR2MzAt4U49gZF5AMxeh2FtBJrLbXUrmt1roCpxW7Ol2NhNFJgjKVUTFRKTo+DEo0hYVNz+GcBz2/Op6bK+XRYUXdvvUesJG5e3KL2I4SU7b8yQCSLXUIGQr6pJf48ydi15YiGZmqJk3h80rPyD90sv7NiXmDtmC/ZMiu9qyzWLi+uRze8ZdOdVqSoasWQKAOXkKPlZ3/D3uBuNHl0AeZsW9I0U6BpEt0yga+Sp6sAEz1sXiJp0YF1LZknT4eyZIf70/geBYilI78VttdOcMzUkd6WX0ZUsOs1Kh63jQnUm3mmqSkQ7ezBPo1mIcUYJmr0Wwv5fSIYiljcMMnt1pPeviDg0ZyYwCDZ/a/WsrJJehYBFR9r/3in86B++qHTT97ka0gUHGi3aWySlMan2NArOh28fojpUlF9Li7cfZOx/Ea3cMM0i3lyMJEqpeRqJ+JJnKKlLllYyf/Weeueh5anZv6dY153K5DuYG466cajUdJq5ejPR4sMaehNL+DFIqmD3ILe3KLdORRDNd3xLt68EakS3TKRj2BvlD/kXjiqt7VEeRoTAhT2VL1OZdvT/0+wYAHitKUWoXg9oXMyTybpdBgiwrw67pj77kPZI9asmxQbNMiEW6LCc9Xo6fm+Ld051b6CI8DU/maXRrMWn9IjLG+SBthGxBcepRZAOqvQvDWoDS9h0SgSdBHHhlxCzJkkjHOPEhfqVHr2ue8y4pqsmIjhUvA6+sIv/x+bR++QySF54EKZNTwm2sbPOxqPACLqj/Uw+Okp1Gb39WFZ3PkLaF1MRW739Cqkj1TAKVryKWZ5COQXTCKZTOnY1RX8eekkoqGmv7rF0u14nADcZdOWM6kqgNZSvewxo/AQwDhdVIuwYc963m6mCnQ0R3TiSv/2Ka116I08O0gCfnaUzLNGI3r2Vb47u0eKtp9vaj0TeQ+ZXXszVvAtPr/oLfOnyQak6chL7o3R614VghzDTO6ve7Ljd29BFozTFOStTIfajWAtL6OWT08zoeFypSlGArJdiAqYNtDsCbfpY85zraQ38C4dlbhWRBm4UEphXoPVpsJ+CswctuGpSrAFBaYpTe+TSpMdU0ff8SvB+WU23GRBawKv90ZjQ9h9/O/cQ4S+i8XflF/FaEKfVPH/S8o52Hpr9IoHwtsdrxRE+aQPG8Fzj5+cdZ8eWb3WD8OOaPR+nf3tZ1QUDPszD7uD0nKjdCcuVMqylR0yny1q4i9bWbOr70WIVtZbPSjOtE0rbxDMIDFpE/aAEt68/rVV0GNmXJLZQltwAgEawrmMGS0it4ftDtTN3zFIPaF3e6vzVxMt7nn0Wp3Y1TWdWrtriOcVJimC+imq+T0c4go18ChwmkTX0GwjsaT/uPyIt+gfbQ4yC8bE067Ew5TAmr3Utj+CEnQYnzHGnKiezNolJy92zU9iS7H/sG6Afm4R/b/g4rCs5kbWgKk9pe7/7xurCy+EIinnLO3/5LDCd10PNSmYCVzCNUs5RY7XjsYIj4iNGMeekpXv/Of9MSLqIw0pzzdrn6nhKLkn7p5a4LAuJLM/u4NScudwKnK2daLUn5+lUomQzm5CmozmaEaEeaQ49201zHmEy0nPiekYQHvY1QctvXIpCMav0Xl2+5m3C6nreqvsQ/q24kIb2HLG9OnAyAtnRJTttxpPgTP0KL34xWtgYlVAvqwcGUq4NhzsNjvo4duIq08anDBuIAqAqZ4HVEQr/CY75CKHYtcTIsbLMoMhSG5RtYmoqlqaBm/3Xqif4GnVYa1KtBqAReX0PeC0tp+cY5ZIZXHlS+KLOHyuQm1oSn9TApaOdMxcO6gpkMaF9KZeKDQxcSKtFdEwiUr0Mx4gBEJp2Kpz3CyNdfZMPAUTlulct1YnGDcVfOtJqSfqs6eiDNSaegWUsBcKyepbBzfbK1bjwDzRsj1G9pn9QfNhu5aPt9TKp/np3BMTye+gw7kgffDLTGjEMaBvrSznvPj1We9JMEkrMQ9ibU0rUYA9/GO3oOxoi/o9csQMnb1SfHlVKyMW7zYkOG5+szPLsnwzN7MjxVl+bJujRP78mwst3CdI6ddBF65nU85jxMbQp2+P91HYgDtoTWlM2qzHVs0H6FJ/MaWuPV2E6Sfh7Bloi5LzNGtqfqd97HiP2BiJhCSgxCaU9SesfTpEdU0vL1czrdb2zkHdqMUnb5hmV7ylnZGJ6KqfoY3Xz4Hvf2HZMQik2oagUAiaHDMfMLOOWvD7O7vB8xv5vG7hNPCGxFyWrrzo9TlxuMu3KoxXQYsGox1sBByJISNGspUvqRdvXRbprrGJRsHEq6rXJvmsO+CdoUJGNb/sFl2+7BK1K80RjA+fhiJR4P1rjxx10wrtqbCMa+R0Y7DTP0Aun3ryC9+UzM2pOQiUIUfxN6/wUIT3bjQbNVn3Z4ocHkrVYLU0JQFeQbCgWGQolXpdynEtAES9ptntqTYWXcIaUo+3uQPzYE40hQ7F14zBcx1ZNJGZ8F0f2vvnr1OlaIX1El3uTz3i8QUrJLf3gA6TDE+g+kEqJJuRSA4h/PRm2OUX/PZ8HofOTo0NhyPHacVeFp3T9uZ81BsK7gDEqSWylNbTts2UykknSkglDN3jtIikL7xCmUrV5Kwc5tbBwwMmftch2bJNCYtLLajqHf4ccFNxh35UxrxqF85WKsD9PFWUtwGA0c+S9f1/FA0LrxDDx59fjL1vfpkQrSdZyuv0vUVtmadA563pw4GW3lcjCPk+lJMk0o+mUQOtHgIyA0cHRkvBS7aQTmjtNIbzwfbB2tcjm5+LETsyT/bDb5e6NJwpbMLNC4olTn3GKdmaUeqgxBhS4o1wSDvApjgypeRbCk1eSpnUneqk+xoTV95HMrS4knMxuJn5Tnmh4F4gC2lLyZ+iyvWL+hXMxnjHklquw6g81HlTl/JiwXkc67BUcE8L+9nvCz79H6tbNIj+532H01aTGqfRGbgyeRUHPTC70rMIp2TxmjWv6ZRWlBdOdEfEXb0ANNALRPnIIUgul/foBt1YNJ9jLvv8t1onKDcVdOJG2JZ+d2vE0NmJOngMygWauwGdv1zq4TVnTXyVjJMIUjXgHRt0n3BirbyddtVkdt5Md6x61JkxGpFNraNX3ahlwJJP4b3V5BNPgA931VZAAAIABJREFUjtrJnSfbg1U/BjXUcOBwFXV/L/XhNrw6lqaSVhWWxByeqc+wPeUwLqzxqWofA8IGtq51Ol46TxOMDqqMCar4FNiadFjablOfOrLJFVV7LZqzkYxxAYierw65PemQdsDyfo512qOE5HLGmZehy6as9tdlEwOtO2kT00C/iKLGBspvfRJrUAnyy1MpTLYfsOVF2yhMtvPRLsaxkXdwhMbavNzkxF9beBZ+s40B7dktehXdOQEpBaF+Hb3jVjifxLCRDH11NjiS1ZYnJ+1yuU40bjYVV060mpLqlXvHi0+egmavQZDBYdxRbpnrmCY1mtZcQvnkv1A08hWa117UZ4cSAk7OS/HP5gB70pIK7/5evH2TOJe8h3XSyX3WhpyIvYQ/9VsS3q+TMS4+bFG7eTBq4Wb0yhWkoxVAR2y3qS3T5WEGFXrZ3JpmU8KhwZQU6YIBPgWvgO3t5kFlOxPWBGOCKhFLsjnp8OqeNGcUagz0H4E7ZtLGk3kBR5Rgaqf1uJqIJanLSCoMQVgTNHMZ74u/Msq8jnHmxazWn8cfLzpsirhC7RY0JU4icyuBVArvf/0NpT5C651nYW04eOKk0FUs00ZU7B9HXmjWU5XYyOq8aUxsfR3RizsezZZGbXAkExrmoHDw3aJDsZIFJBsHE6pZSsv68wFBZPKpVP7590z6+5OsuuJaRjkSLYvFxbqzSJOqGdhW1+9ZAEeESPUwXarLdbS4wbgrJ1pMh6pVi3GCIewRI/GafwDAYRwKLUe5da5jgfDpFJ52qNSBVaQStRQMfw2tdDJmZjx6nk1f5AQZEUyzsDXA6phNhXd/b65TVY1dVo6+ZDGpr3y9D46cG4pdC3U3YKljifv/J5s9MGsn4Bn8T7TS9dic1K3j1aYlDaakn1ehxtvzG6lCCPJ1wThVsDUteaPFYootGRPq268g3VqEKveQ9Hy5YyhPD1gObErYeBXo79v/GrQpZ7NGf5rR5ucYl7kIy3yU9EsrD1mHr3gTwRmzaVl/DvG1Gyj1v4f/9S3ELxqGObSoW+0Z2/4O88pvYKdvKDXJDT06J4Dl8RCqk2F42/xu7RfdOYmyiU/iLdhOqnUA8WEjsUJhTn7uMd674jo2JBxGBbv+odWdRZr0/OmY0ezaqYQuANxg3HV8cYepuHKi1ZL0W/ke1sRJoKro1lIcUYLk4DRdrhOUSGHVPn3ILfJBPlYqRDA0C6fxMYToweS4LGgKjAqq7Ew5tJkf6Q0UAmvi5GN7Eqe0CcVuBCdJe+iPIDrvjT5gt3gpdlsNasl6oDXrw9UmLLalHIp0QT9PbsYC64rgvDIP/b0KiyI2i9qsg4YM5YxMYZhzsZRBWGrP79CtbPeTcmCIT0H9WAaWdmUaq/U5aLQTkJ/DCO1BKBaqN4IR3o2vZAPBquWUjn8aM15IZOlUyp94FO27d5EZXEjsqu4vwjQktgKvHWN1eHqPzyntSNYl/QxqX4zXjndr39juk3BsnVDN3ixIqkr7xFPIX7uKQfXbWRO1Dp4k7XK5DssNxl094k3G8DfV7dvijS0UbVoHo0fjb6rDSC3CccagmdbRbqrreCA1IltOBcUmPHARyNy9b4SawQjVAx0B/oiAigqsjh04dtmcOBl121ZEU3ZjgI80f/I+DOttKPsNttq93P1mXUePuMYrWZVP2pK3GlIEFBjqV3q0wmRnNEVwVpHGqKDKmpjNP1ssrD4I3gzzDRQZJW1cnlUaw0OpyxTzQdxLuSEI64f+uowpJ7NK/zvgUHPOvQz51A8YdNF/0//sWVSf/iAVU/6EFmgm+sx4au67n8AHa7H/30203nkmeLrfW//RiZxxNdSj81ofs7FQspy4eSDH8hKvHUOoejmIjus0MnEKAKe/+GeiNuxMZTfs5VjTbkmWRixWRS02J2zq0w4xSx7zPy4Uexuh6FfJbzsDPfPa0W6OqwfcYSquHlHiUZy5HbcYHQQeXzmK42CZNs6rzyPO24K9YTiiOt1HSetcnzR2Oo/ojomEB76HlX4Q9F/2sCYHPdCKEdqDkVePHmhBCIlkAVbkA0LGtxkaGMOGuMOkPIlP7QjUrMl7swAtWwwXj8/RWeWGaq3Fn7yHlHE13vAXoambS6KbfqyGUejlq1HT7wCXd1rUkpJ1cRsFGBFUD+oNzgVFCKaGVYIqvBexSTSanF2k7/u/6C3htGGYb2CqE3DUAT2qw5Iqb0ZPIaA6DPAd/qsyoYwiLv6G+cGPcSwDOxPATgex0wFEs0PBs69TuOwNkjUDqL/is1Td9CmYf1+P2gUwJrKAZQVnszZvCpNbuxd8OXv/f/sZKQrTPVvGvn3nREL9lhMoX0+8bgxWYRGJwcMoe+5vBL56C2tjgv6+4yCLlq5iSUhYkpURk41R65DfVwIIaIIyXVDpVaj0KAR7svJqjgmnBX9yFr7U7wAFRyknP3olKeMqYoF7kEppl3XoeXYnwwcPphrH54+s44EbjLt6LeIPUr56GVII7Jr+qOEdCCGx2/qjuSnGXd2Qau2PHmrEX/wohnERGeP8rPfVA434SzdhhOpRNBMpwUwUEt8zAjNeSGhIBi01j4Lkc1ygTkJVv8S66JVMyA8AYI4bj1RVtKXHWDAuJcH495AiRCxwL94eBsd243C0sl14Iv+LUC5CCv0Qh5JsiDukHDi3wkc82XepHoUQjA1pBFTBWy0Wz9VnmFagMSAHQZzHnAs4pI1LelzHosRYInYeZxVFSNtdj+uWoobm1ReitbVgNDZgNNYTaFxHcPUKhGPTeNGnaDv1dFB6f0P6w4mca/KmMambEzm3Jx3iNpwdym7y5KEk6kdgpYKE+i0hXjcGgPbJUwn89TGmL/sXr0w4izbTIb+TuwnHioQtebs+RW1aIoEyQ9DPq6AIyDgdw3nSe//UVIXalM3mvalRw5qg0tMRnBfrCgGVnN5BOiyZwpf6Hf7kLISMkPJ8gYTvVhylGH/y/o67aOZrxP0/IuW5/rDpPIVIYNU+nd1xT/qPHJ2A6+OyCsZffPFFHnzwQSzL4otf/CLXXnvtAc+vW7eO2267jXg8zqRJk7jrrrvQNI3a2lp+8IMf0NzczMCBA5k1axaBQID29na+//3vs3PnTgoLC/nFL35BSUkJmUyG2267jTVr1uD1epk1axaDBw/edxzLsrj22mv5zGc+w5VXXpnbV8LVY03BAqpWvkemsgp8PtT8HQDYkX7urz1Xt0V3noy3VCcU+xqt4Xc6T923l9DWkT/kX3jyGnBMD+m2atLtZWSiZUjb2FfOYhzpkgeRsdfxph7mUuObJKw7MJO3k/F+Gfx+rNFj0ZcsweTGvj7NrHkyf8WwFhAN/BqpdG+y3wGkisWF6NYTVKiPUKt946Ai21MOrZZksE+hzKeypQ+D8Q8N8qsU6IJ/tVi83mwx1O8wNV/DyCIjx6Eo9m406z1M/cwev157zCJWJkcw0ruJcm8B2w8zrFpJJal65LcEXnqWwZs3o1j7XzMrECQ5cAhNF12GWVTSo7Z0ZmxkPvMqvsQO/3D6J7LP0/9+zCakwkBPivaeHlyqxHadTN7AhSh6Esf0ERsxBqewkOHPPM4/JpzF2pjNaQXHZjDuSMn7MZuVUZu0A8W6oMarHHBnRlPB/5F/D8k3UE2LVktSm3KoTUs2JhzWxTuCc48ChbqgUFcIeyRxS+Y0QP8w+4ySfgdP5HYUpxbLM5NM8D+Q+nA6ZpC0gHED8eCFGK23EYrfjDf9V6KBX2JrI3LSDlff6PJKqa+v5+c//zlPPPEEs2fP5m9/+xubNm06oMwPfvAD7rjjDl555RWklDz11FMA3HXXXXz+859n3rx5jBkzhgceeACAX/ziF0yaNImXX36Zq6++mrvvvhuAxx9/HJ/Px8svv8ytt97KD3/4wwOO89vf/pZt27bl4rxdOdTkD1O1agnU9AdAyd+OEysBM3CUW+Y6LkkVK3AvYBKOXooveRua+SySLViq2JcHWziL8Igv4cn/LzRfhOiuk2hccxHtOyaRbut3QCC+jxIi6fsGrflL2Op9nkZnJOHEdzsmRsoY1sRJaMuXgn1kc2F3RjitBOO3Y2qTSXmu63V9DsOxPDPob/8ETR6Y5agp47A7LSk3BOWevguilEPkOQ/5dC6s9DIurLEp4fBcvclOk+6v1rl3gR/wkdbP7VH7ko6H12NTCShJTg2uOOyxil59iYnnTWXA/XcjCwqITJ1O/RWfYefX/p3Nt/0vW2/9H+qu+0rOA3GAIfGVeO0YS/PPRpJdwNeYcajPSEYFVXr4W2ef9p0TUVSLYOXeDDKahnnFp/H942VGxRrYlHDI9PUyjIcay51FHv132x3ei9gUeVROCqoMD6hZDZESoiPYHhPSOK9Y5wuVBpeU6JyarzHAp2A5sD5us6A5w8qYzZqYTdzu/DX48FqIpO0u26wocWT703hbv4WUNgnvN0lqV2KntuJE53VsjS+gPHkP3q/cjfxuAfE9/4Fqr6cgMh3d7F7WHNeR1eUn7oIFC5g6dSr5+fn4/X7OP/985s3bn45o9+7dpFIpxo/vuK175ZVXMm/ePEzTZPHixZx//vkHPA7w5ptvcumlHUsBX3LJJbz11luYpsmbb77JZZddBsDkyZNpaWmhtrZjTNuyZctYv349Z555Zg5P35ULZmsr3lg7Tv8BAKj5O7AjNUe3Ua7jmqP2Z632KAknH3/idxS0f4nS5vGUNFTiazgPX8N5FLeei5AfYMa/SNOai0g0DAOZ5b0YoRDwn8VrPMci+4d4Mk9TEDkL+/RqlFgU8cHmvj3BLAUSP0LIFqKBn/d45cgDCdJ5t6ASo9rePyY/43TkAA+qMNDXt72Z1t485x/ftkZMQgLGBlVsKXm1Ps2CFpNGR2BmEWChKmj2ajRnA2nj/B4t8BN3vDwfOYeYHeCc0EIM5dATiX2bNzDmhqsY9W9fwPYHWPWXF0g89jhNF15G+6SppPoPwvH3bWeEJi2mtMxjR2Ak7xZ2nZ/flpLFEQtdwLBA74cCpVtryERLCNUs2feYedU1CNvmlL//FVPCxkQfjDGWDqq1Dm/qEYKJ7+FNPYLi1O972unk/fXhNr8+xbqoRYVHcHaFr1djv1UhKPMojAqqTC/QuazM4PpKg09VeRnoU0g4sCJqsyVhYx3ih8mH18LWqHnYNm9qy+BI8KSfB9KkvF/GVod1VGLaqP9ci/c7fyY44XZ833gUZeFS9IXvEDjzPuybBuIki8mLXotqbzqoDa5jQ5ffXA0NDZSU7P9VX1payqpVqzp9vqSkhPr6elpbWwkGg2iadsDjH99H0zSCwSAtLS2HrGvPnj3k5eXxk5/8hAcffJBZs2b16ESLik7cvKMlJT2bcX9YiRYIddwY823puMB9o4ZDURK8EZTkEPSQF3SNTEagZ9HDpeztqsmmrBAd5bMqm2Wdx0LZ3rwGh9vneHu9FAFW+BK2cAlIE6+9Dr+1HL+1DJ+1DM1pYbf/HtTYxeSnN6BrXY95VFUFb8BDQN9/PUzT08ze9j0qK6fTr/0GgqfeCxeBf9UaGFWYVVv5WJ05k1wCzX+AgpspLJt2wFMHXdNNGniz+CFiaEj/CFo9n6Uq/TCR8HewlAqWNyWxJYwv8RPcO85X11VCoezSJ+aybAgoC0s2RDKsi5isi5ioAsKGSr6hEPZ0/On52KqfBUYSr/ksaNV4C87FKzp/r1mqiuo98M5J1PLxfNMMEo6Py0rmU+1pw0bFMDRCSkd7lViU8lk/puT/foPjD7Dr7lk0ffnroGmobbV4vQePwz8UIbK7Fj4s4+3k/3Zqaj6tsWoWFV1IKY2M1jVKig9+LzpSMntrlLq05KKaIFVFXswGJftrV3DIc0vWnUJ42EsE8qPYqUK0oYPhwgspfeAXDD3vKjZ4apg5IHjooRpmC5DdewZdwwhYkFwAibfAbgQlBN4p6Onl6Ml7wDcNgpeSOsz7qyVls6UtSbFXZWyxt1vvW79fJ+zJ7vXypm1SisZAW7IxkmZn3KLZchieb1Dp1/a9Hh89flft8FgL0O2lELiYQGhAx4O/+Qf8/GVoiUPYD1dMgk9PRjnvGx2D3h97Gv3nv4PLa+EZhcLE+TD4JfDtn9hpxbr3GZ7te1zXVUJ5ffC5+AnV5ae34zgHXEhSygP+3dnzHy8HnY+dklKiKMpB+3z4+F133cXXv/51iouLsz+zj2lujuH09S2zY1BJSYjGxp5P1OmMP5HGiaaIG16K1yzHDIVJ+fLQtFX4gHh9JU40hce0cGyJaXZ9299xJCpkVVbKjvJZlc2yzmOhbE9fA11XD7vP8fZ6ORKi0f3L/kQZBgwDPgMqHZsF/TP1SJndedm2QyaeJmHuvx4KpCSkwmtNU7is6G3yYjeg3/cu9pKHSbR/M6uFYhQOrDMnpE1+5GsoopRWvo/8yDV8qGs6bFk4qQN7ccXWVpQtLThDi5DVeaAoiIyFadpslj9gIk9T2PZjFsmfUp906O9VkKkMH77spu494P/gcPqibLUGJ/fz835ziqgliVo2W9M2MtoxJtujQJ4qyNMEIU0wMnEf0omQML6EEzOBzse7G/kOuyP72xBzgrydmElGGkz3v4ZINbE7BcUBnYy0iMZTqLEo4z53CYG1q6m/+gts+/5/YRaXQNICLBS/hX9C19krAPAqXb5nP3pNp1Kdp/qcWfdXmquKmFvwOQLxZgIfW9VSSslbrRabEg5TwioVjkljo0me7WR/7UpIpQ5+Pa0tJxMe9hKe8oW0rD8P07SJ/+/PKDjjNM794Td48IHnWbGrnepDLBjl1zu+Q7oiZAxf+20oiXkILCxlMKbnQiz1JBAawncJRuYV9OQ7kFyECG4lkbkFW+QdUE/KlqyMdSzeNNgD8Vga0xBZv28TqkOmPbvXy9JUotGOFUNrdCgMqmxO2qxuSbMtkmZ4QMWjiH3XQih0+GtCkQk0+zYcUUpcngnRFNqzi/H91zNYM0eQuW469syR+1JleqwY6fb5cEUYLv0e2t+XY9wzF/W/G5FzTyOpfQ17ynAAfMEp3foMP9T74FBM0yYay33scaxTFNGjzt8uv2nKy8tZsmT/bajGxkZKS0sPeL6xsXHfv5uamigtLaWwsJBoNIpt26iqesB+paWlNDU1UV5ejmVZxONx8vPzKSsro6GhgZqamn11lZSUsHDhQjZs2MCvf/1r6urqePfdd9E0bd+QFtfR0xQsoGrVYlKDh4AQKPnbkY6K055dqiSX62hShGBUUGVRxKbeLsfJe4mCpyegnb0Ff+p+Usa1OOqRfy9704+i28tpD/4eqYS7X0FzAuPuNxF7AwLp03AGFyGn70E9qxxz+PnUe79AufMYjelvEFRrqMrRwj65FNIVSg2F0r2d2LaUxG06gnNb0mZJGk1JuViB7nmcjfIaWs2zGCJ2dDrE5OPa7TzeTp6DI1Vm+F+jQD14xWBhmoz85g0E1r/P2t89QcvZFxxcRulGVoox38muXBZUbC6pe4Qn+32fF9pKuMSQhPYOvZBSsqCtIxCfkKfmfMVTK1FEvG4U+UPfILKtI9e406+G2N0/Je/mb3DqEw+x9sZ/P2QwnhWZwJd6AMVpwtSmYurTcJQDF5KTIkja82ky+kw8mZfwxB5kMk/xgf4Qrco5He3cm84RYGRARTtSWU/2CmqCcUGVhoxkS9JhU8JhVCD716TGvhfF3kXC+y0QOsqK7XhveRLr1CEk//C1w8+t0FSsT03Cunwixqo5eMb/E/8zD5B5eQbp/3epu1jpMaLLd8Npp53GwoULaWlpIZlM8uqrrzJjxox9z1dVVeHxeFi6tGM1rjlz5jBjxgx0XWfSpEnMnTsXgNmzZ+/bb+bMmcyePRuAuXPnMmnSJHRdZ+bMmcyZMweAJUuW4PF4qKqqYv78+cyZM4c5c+Zw1llncfPNN7uB+DEiIhWKtm9Gqe4HdIwXd9orwcnuVpbLdbQNC6joAt6P2iB00ruug5tA2BH8qVkYmZdzughRV4TTQCBxFxltJmnjqu5XYDsYv1wIpkPmv84g880p2KcPQMTSqA+/jf+ar3HKuadA3aeQUmGqOosZThsDog30b6/ft/njkdyfXC+poqMnvMqrMCKgMjlPZWJQcrn3+2REMW+bP+Sfsak82nIFr0enUGuWHHKO34cidj5vJc9FIpjh/8dBgbiRTpKXjjH+P/+NgrffoOX2uwhNPvmA1+nDTbWP3gJnPifO5bUPYUvBP5pNMo5ESsniiM36uMPYoMr4UN/k/W5c9SmEYlE85sV9j6U/83nSF17C9N/8mOSa92m3enBXWqbwp/4PxdmDVXQfac/VBwXiBxRXikl5v0i8+DnSopyR5g0EnNX70nUmHBjuV3KWy767xN7x5QN8Cm2WpNnM7jXxO2uotn+D6fs0tjoUUR/Bd+PvkaV5pB78UvaTnIUgc9KnSHM2XAUGbxG44F54b3X25wAUJtuz2nQznXW9rix6xsvKyvjud7/L9ddfj2maXHXVVYwbN44bb7yRm2++mbFjxzJr1ixuv/12YrEYo0eP5vrrrwfgzjvv5JZbbuHBBx+koqKC+++/H4Bvf/vb3HLLLVx88cWEQqF948Cvu+467rjjDi6++GIMw+Dee+/tw1N35cTOnQCImhrAQQ3vwNw9+ei2yeXqBkMRDAuorI3ZTLYl+sTJcA+kVl6NPnE1HnMemr2KlPF5HLVfn7cnGL8dIROYBT/Cr+45uIDZgl8/8ItOUeDDqXLa39agfNBE5uapOGPKAHBmDOh4rqYG518q2u2z0L/9vyx9/AYmaw+z/Y3+pGNlB9SZf9WloHtyfHa5JYRgEA9TwEqS/5+9+46vqr4fP/46487c7J0Q9ggbZMgQcKCAiihWa+vo8Fu1ta3a1v5qv60d31prbW2rtVpXtbauutAqOFBAAZW9kT2SQPa686zP74+IignkJiTcJHyej8d9QO79nHPe9yS5ed9z35/3J/1eLostpdzKYlu0PzuNPmyPDSBVbaDYuxddsQjaSQQdP6HGHOqM+USFD58SZpp/Mclq80Z/aiyG+87f4V/wItVnnUeNOwleW9hyMFdN7uRne3wZZjkXplXxYm0OS2osst0Km4I2Q5NUJqRqndYD2wxlU7vzbDKL3yLMR8BcUBQa/3gv6dNPZ+7Pvs3qFxczMacNE2qFgS/6MKpzgKjnG2jeyRCNrxuI4x7JVtd/GGPMZLh5Ba86b1Br5dHfp3aJvud5boVyA/ZEHMa0VjorbAZZt2CSTiz1/0HlMnzXPYrSGCH88i2IjLZf1jb8F6LGqtF/tB6CEbTzrydw/iCClw4HdyuJvW1jbdoc13GUrLlyJZs2iOtUzZ0799PuJ0c8/PDDn/6/uLiY559/vtl2hYWFPPnkk83uT0tL48EHH2x2v8fj4a677jpuLL/73e/iCVk6Sbx7d+GoGnavItRABYorJjupSN3O8EBTMr4taDNh7GkIRUFbXU506tWY1li8xrP4o/dguGZiuGbFVUvekiO9glskLNyNd+EynsFIugHdnYlRt6iFgd7mtbaBphIBdd0h9AXbsM7pjzO1T/NNfW6cqWMpP/9i8l95nl3/PhNxpYvMYYs4/NHX2vWcEskjDtLX/i3V6nm4vbNRjIXkuarIc1VxhljD7lhvtkX782F4NAA6FgEtRIpbkKuV4VfD9HXtwq+GW9y/9sIa3E+8RMNpE1ssTelq+niiTErTWVlncTAKA/0qk9P0Tl+MpvbjmaQUrcaT9CtCYjYoLkRWFsF77iP3mivI+tPvMO/4Fa7P9VPULROCLX36YqHzNCq7sbgUNdoH1WlbVxZDyWeL6xlGmXOYylVE3a+Q70lpfcOTQFEUBvg0NgZtNtQYZB7n/UG+8ygpYjXb9b9TqKThve1ZtHX7iTz0TZziY39KcPwAVKKeK/GLWtRfliH6TiPp90txbzxM7f+eiQi00BJW6nTyfYvUPqpKVHeRvmMroaI+2F4vWnrTYj9mfT+cT1aZE4pCnC1wJSlhkvWmRT+2h2zG5KUghgxEW7cPAFsfQUjrj9d4CY/5Ji5rDYbrTEz9dFDaduVYFY04jS0k2CKCL/YEur0NQ59OTAzGoxjYLazWGDadFu+nOozr/g9weqdifX3sceNY/K1bmVJZzcR7/kLDyPGkjVtJ7cfnEKvvRkvmCsEA68eAYLd+N0O/kHC6FJti716KvXsJOV40HDyKgaKAO20aB8o/OO7u/cu24bp9Acb40ZRfdHlTS5FuYFhAI+YIwrY4KYk4gLDdVG68hILJj+GL/p2I77sAGLPPp+bLVzHhH/eycc4cCqd/9umBYsZwNm35wp4cXL1XoqWVYJaMx67RgC2Qd16bY6oUI1gQ+zvz3VczS7uR7eKJE2oPqmoqcRciacc/TrKukOdW+LjBZFRAo6WeI25RRl/rN9QqZ1OpXkbf++/G9cIqYj+YgzV79PFjdRzcLb7R+YzF5bh5COXaLdR5x5P627Wk/fF9am+b0foVcqnDyWRcahdHwG49wOit66kbOZZgxCI7sBeP6aW8KgM+ednKtgRd+4NuSWoyPFljf2XT5KqsCaPRX329qY2EooDiJ+q5ElM7DY+5CK/xAh7jdUzXZCx7FJDf7uMqTlXTR/Kigqj7ckxXUxtDIaAy0vzPv1cozbprBNwW7ntXguFg3jIF3Md+ad+i51JS2J9d11xP742r8P1iL/aLPjKHLaRsZddZebQ1mc5rZDqL2KP9mpjSG6g65tgkNb6OGUd4tpSQ//0nEINzCf7yFthQe4LRnlxjU07+n/bQoRFYzMAfuZOY51Ictel3wr7jToLvL6PfD24gtmQ5SuBYpRUCV69VTYl42RjsmgHHGNc6Wwg+DtmYYhY7tf9jsPMzovav2af/st37tATsqTPiGts/o/V2iX28KnW2w56ITV5a83KVAdZtKJik+ZLHAAAgAElEQVTscv2BtPffxfPzuzDnjMb4fhxvTBwb0eyNTnOGZxLu4vdJmreT+uA4Uv+0itT7P6T+psmc8KpQUpskvoBK6raMmIGvvhYrr+lF15uxn1htEfLHSuqO8twKmS6FLUEbe9wYlLowyt7Ko8bY+lDCvlsIeW/B0opxmUvwVc4kufHruMzlINq2fLxm78IfuQdVNBDxfvvTRLyt1DsfRt1ehfmtcYiCY38cv0MM4G33ELKrDtGn9jAV86/As/swsVfzSMrfijdjb7uOf7K5RBUDrP9HUBlBmXZDh+5bL62h4FsPYaf6iT14NSKp7YsHnZoUovwcRRgkhX722d0pqRz4499IObgP11Vfwb34TbC+8CZTsXD1/gAtYx/m4RHYVUPaHYUQsDvcNGFzsF+lXP8Oh9RvUGT/hVy7edlsouiqwrgMN402lISOPh8pzkqynFc4qP0ADkDx976JM2ww0XuubJog0kFELA0n+f/QfQ34Lj9I49Wj8a4uJfmJdS2vbip1GnllXGo3/VDT6qhOTi6KauBJOUTtjrMTHJUktY+iKAwPaCyrtSgZN4mBgP7uVsz+zXtHO1pfotrXUZwa3MpB3JEX8Bov4hDAck3CcE3H1M/A0sc0ry8XFooIodtb8BjP4yiZhL3fQqhx9qj+Av+ybah/eqKpTnxa32OO2+cfyn/F+eQ5DUxcuxRVCELFw6k7/QzS7ngfe5aPzOGvU/red+jKtWUZ9usMsm5Gp56t+j8RSsd1blIbIhR862GUqEnpE98mJzcFDnXY7rstxeciY0rrLT71lF6EzZtIivyeqPl1TNc0AHLOmsZHP7mDUX+7G99XvoSTnYO45FxE/1rEIDfuvstRfLWYh0ZhVxY37cyymxpbx9st5BMfB3UqTcHI5DAjUyIAmOIHRBo/ZpD1A1J9KcRckwDwa2mQwM9u+wV0NtXE2FEfY0xAw60qIAT9rF8QI59DxjcYdcM8UFUi//4bJMXf+SRu7tNpPDiWlN5rsa8NEKoeTNJrOzAzA4QvKkalE1ZRlZqRybjUbkkH9mK53Bi5+XjTDqCoDtFaOXlT6r76+1VW1cNHWUPpV5yPvnAj5rVnHnO8UDMwk79Kg/f/cBmLcZvLcFnvEQjfDoCjJGNpo1BEGFVUo4oqFPHZZEFLHULE+/V2Ld3etAObnF88jyjuf9w68VLvAP6b/y2yqGZedAeVn2vDVzVnLr69O9EfqMN/6y7SBiyjbveM9sXTiTRRzwDrNnKdpwkqI9mkv0hYHdFxBzAs8r/7D9z7Kil99HqMQflghzpu/92ZEo2rh7oyZCBh3w/wxp4lEPohtanLQXGhKApZ37uRv138NSZ8uJiJi57D849n8Qy3EPc3zSty7slAW1aK1rAHpSGGEjYRioLITYKxZbj7e3AG5eEMzscZmAPe5hMNK610ltQnkaOVMUi8Q+xzDXLKxIX0YjeZjTdyUPsRlpJGmm8uiUzGFUVhgF9jfaPN/qjDIL9GpvMqKWIVO7S/MPDWH+PfuZ3N//gPgwpzUCriazeq+Nt2VTtSNQDNEyQpdwcN3x9DuLYPqc9uYM2gy8gfU0lGrKw9T09qA5mMS+3iCEjftZ2GvgNA1/FmNE3elMm41J1pisLQgMbaBjeNsyaSeu8rKBUNiJzjd2IQSjKG52IMz8VAU69wt/keLvM9dHsLjpqNrQxB0704ZiVCScJRUrG1oXCcZdtbk/zaOlwlNdj//gnoa1ocU+7pzYKCG0i2aviSZwFuio+O3eXm8JevoejBP2JNSyF70svYsQAwt8X9nQhVhFHtalThxcEf96TINGcJg80bcVPOAe1WDmg/Qigd2PVBCHJ/9iz+lTs5/PuvEpk8qOP2fSpRFCxXMvXJd5NRfzn+yI+J+L6GqY/Gr+uMyklixRlzcF8yj/ENv0Vzfg+VCnxXR6m2ESle6J+Ek+JBpHhQbIFSUo+6pwT3W/tRrKartCLJg3nZRIyvTUMMaGrJGXNcLGo4A59qM9G7vNmPlqP4OKR9g972n8izn6BEu/Fkn50W+TWFvsku9jaa5LkMxotfEVKK0Z+oJfu/L7H3x7+gbtrZKMbeuOrAATj7nDbHESwdheYJkly0njW/uZmsn6xlxp2/5MU/PU5+/3IG1R9/wrN0YmQyLrVLvSXI3b6RislNV9C86Qcww2nY0XasFihJXUhxksaGRot1Z1/GWX9ZgP7GRsyrz2jTPoSaQ8xzKTHPpUfd73cdarmbSns4Dul/X0xsUB7arDNgcfNkvMqdz0uFN+J1Qswv/Sv+AVktdoQw8gqoPncu2dcvwHg5h9zxTxEWZwOXnHicwiFVrCTHfoos5xX0iiD5gIMLi1QsJa3pX9KwlHQs0jE/+dcXzmGAuZwC5zHCymDW608SVE878Zi+IOO+N0h5aTXV359N4yVynYT2EsCuOgPETAarXyY38ihJkUexSKZBmchAdSp1+iT0ulfR9QewQ7mYNZPhJ8e/Oq2fewuRmuWo+6pQdxxCX7wF11MrcD/+XtNy8F+fzuJx1xF0kri8oJzkispj7MlHSLmIZP0/9DJeAHNOh58DAH+onj4Nda2P8zSVyQxIcVMSNEkxH8en7WHvzp/T785fUzlnHiXX39QpMTanUL/vdFKHLGdU3kO893+/JP+6zcz7yXXc//oGyv0DOd/puuVr3Z1MxqV2adx7gN7hEObnJm9Ga1roayxJ3YxPUxiSFGNNr7OZ1j8X/fUNbU7GT4akd7bg2XmYw3+4iqwWJnVVuAt5ufA7aMJifulfSbbqgKxj7q9u8nQCmzfg/lo5xss5+DO+S8DpTVAd1674vGIfOfYz5NjP4GM/FslUqZfgCUykLlSNTh26qP/0Xxe1+Jw96NSiU4+CgHoQKJRoN7Jf+18cxdeuWL5IdWwyIk01DJ4F6wnc9wbReWPg2kmf3g+gqbJetl0UhR2uB9krfkmqs4JUZzlpYjkZ9q/p90mJ/16+Rv7eMHFP+HfrOIPzcAbnYV04FuWnF+F6aiWuJ9/H/42HOLfoLequnEmvK+ZQveXYC9NYgNZrIP6cDzCCrwMd30FICwaJHWtxqM85srCWrioUuoOMVe6mzhhPr6/9lfCAwey8676T2lJTODovhx/hQs//MC3nDhpvOI3M297lvP/8ile/+Uf+XWEy3Z1DqlFx0mI6VchkXGoXZ1PTRBIlKwfNHcSVVEPdnvZ1gpCkrmZ0aoytwVRKzz2b3o88i1ITbNdqd51GCDIeeBuzVwaNF4w5KsWOqEmsyLyQzalT8dlB5pfeS5p57LZ/n1JVyudfQe+//gHzx+m4HnExwrycDa6FRNTBx93Ur9XTJ6kOhMBrrSAl8gheayUChag+mSrPd4m4ZyIUH8kBL5oeRQDmJ7fmz89GFY0kewUf1yQRUzp25VPFaVpJ0L25nKTfv0dsRA718wfA5qPLAJThQ/DkZpAxJY59+mQXqS8ylTyqtPlUafMBcIlKUp0VlBp+VsfO4lLfvRRFdrRr3yI7hdD3z2fxVb/AvWgDM575M/1/9zD87mEyilKJnVZAbFwBVr/0Zm36GktHo/trcPFLfK4ziaiJL0uaoP2VJFFF/c/SUUyLbQ88iR1oqQN559mVejr7/JPZU34po/IfwDflIGb/dAa/8irnzezHe/2+wyt9f8KZpY9SFIqzZEaKi0zGpXZxb96I4fNjZWXhz9gGIK+MSz1Glk/Qy32I9878Glf9/WnUt7ZgfKXl5c5VTT1GRtl5fB/swrvxABW/+hLoTTXnNiqbUqexMvMCDNXD6LqlTKpZiNdpeXXJlpjZudScM5usN/5L5L3b0aY9wAhzPhvcb2Aox+6moTkN6HV3keG8jZeDWKRSpZ5PozIei3SIAbElTWP9ZxJrWBJXPClJc4kpmXHH3xa+d/eQ/Pg6rPxk6m+aAnrLybSqm3FNXmTEzR0cYc9jKtlUafPQvYJUK8rbOV/h6gO/RW9jS1CAiOPhtYYZlItMps+vRrvyeoJ7KvAta0A8/QxJr24nsGAbdpoXY2QuVmEKdl4AOzeAlROgfu9kskYtZ6h1Detdb+MoSZ3wjOOj22X0de6ncV0hqa/uZPPDTxPpP/CkxhDVkliVM5/s8B5yDlUTUgeRlLuT8DcH4v/ZLvpuWE6/SRfyzD4/a3IupmivTMY7kkzGpTYTQpCyeQN1/QeDquJNP4AQCrG6brR6nyQdhyNgqL6KxYPPp7GwAPW/66i8uOVa4ryTe/EKgIwH38bKTqbh0okA7I/4WNz7Nmo8+fQOb2dG5fNkGofbte/aqWcS2LQez233s+mtxxjuu4oR5pc4pP0PBrkYStPNJBuBTrbzAkkVfyDF2Y1BJuXq5TQqExBfbOnYVUQN1NvuIOXfa4iNzKX+xtMR/o5rjyi1TlMUZqbU8oKdw8qM85lWvaDVbT6/6myDncRr9TMI2n5mpb5PP08pNioMzEOMmkvtgMMoQQPPhkN41pTh2XAY33v7j95fmhdxaRH+H25n3N5LqBJ/wMnOPebxj9R3d4ZeJTejuqMk/79S3v3+7TRMP4+MTjnSsa3Jnoeh+Zly+GkUBMGykbhTKvDMPYjzVxXfu3tw3WgxqG4Fq3PnE9JTSbLi6+4ita6LvlpKXVkkalC4YwsHZl4AgDfjAEZ9PsKWa21KHUMTDn0aylsdF3A675J0itbAEM8Wtp59CROeeRC1IYKT0jE1y/H4fF3z53nWHsK/YgehW84l1Y6xPDiR7Y0FpCqVzC37O/1Dm06sS7imUX7pV+j94J/J/9W/2PrHfzPMvJKB1o+aDXXwoBLD1gdzSL2aoDL6hLrDdDblYDW+6x9D3VxC8OKhhC4d3i1WGnTijFHtwv3hv6i3J8bw+hWsyTiXOncOU6pfPe4byCOr0dbaGSyPnIUQKtP8bxNwqqiMfDbuyBpNIuAmOrUP0alNn9gqYROtPPjpTS8P4lnrRtyv4P3uKnr9agbmonSivfsS6d2P0LCRWKlpn+73SH13R3J5Y4x++vskX/gq4iU/5ff8lQ2DLyDTjjI2rfGosaousDv06J8p9/VnR/oZjKh+i4xYadOdQqNh7+lkFL+N/Rcv3msOYDcEKQxtZTXzKUsaKjusdCCZjEttFt68Fd2IYeYVoCLwph8gWDoq0WFJPYlpxjUBKmXm9E4NY4h7C5vPO5PTn7wf7+JthC/p+E4ex3KkrvmLkv+yEsfvonZkJu/UT6csMIwJyTWcvu4OdNFSr5S2M/IKMK6/gZy/3kflhZew8uw9uKnEJSpwi3LcVOAWh3FRQ51yBkU5EwhWvNYhx+4s2pJt+L7/T3AE9lN3ExIfJTqkuAig0YgvDcvwaPjV+FYpUrXEr7B4VuV/SLZqWJt2Dk/2/ilDG1cxqfp1Uq3qo8ZZjsJhK5/DViH7zAF4lBhT/W+RojV/s3oswu/C6pfeVEP+iYwzfsj+x5dSuPcBvD/bj+VNxfviHpI3rkO89hKRfgNoHD2O4PDRHfacj3BVV+K59Ap8125CGBr759yClVpPn9hWPo4Oo7ZuKX71sxIzJbPlMrkTZQtYkfcVkswaxlS+ftRjVjSVYOlIkkdtgHmgvPAW6YVl+M06SgLDZTLegWQyLrXduqYWampWFq6kKjR3mGitrBeXeh5NcSg8LUJDbgEs3AsnMRlvMZ6SBtwflVBz6Wm8VvwT6jx5TD30L6YUTcTsoET8iNj138Z6820G/uyHrHljJUZKPoaST0vL4BQp1S3c2zUo1UFcD72D+8F3cIrzifz9m3hHTIOF3SMZbwtFiaAfar3kA0DJObeTo2mdLkwm1SxidN17rM44l/Wp0/k4eRwj6lcwomEFh7x92ecfzsGDfbFEfzQscvUyxno+wqtGOyQGobsp3XgDvVL/hudHJZRNvh5rewrJG9aSvGENuS89S/arL2CvWkrmvCupO+PME5pYqdfVEtiygcy3F6JcocCZUO+ei+U0TcPu69rFx8YI9pkDGObphBU3v2BNYzp13mzOOfgALhFr9ni4chDu1EO4b6tA/fFzKF+bSGFoK/uTR+OgyhU6O4hMxqU2c69fRyQtA1JS8GasBSBaIxf7kXqmLHc1h8+dSv/nXmFd/dWkpcY/IbKjJf13O47HxX+ue4CgK4NzD95PYWg7MLHjD+Z2s+P39zNm/kz63/GzpjZrJ5lLtemT1Hq5UtNY66h5tOq2UlyPLcX18hqUmIV52USiv7kMfB24WFAXo9h23AvDKO1YGKY18ZaXAagu+9OyC58TYlrVy4ytfZcPM2azOXUqG9OaPvVKMasYGWjEb60mW6tAUzq+WEPYHkpXXEev6feRP/kRSq0bqcmaTc3Zs/CUHCB5wxpSV69m2BtvIDSNxlGnUTd5GvWTptEwbiKO79gr6KrRKL69u/Dv+hj/rh24q5raAkbO6433J4cIKUNodJ0NsabnFVCD5Ghl7DMHUuzejKp03icYhuJmZUMGRY2b6B08VuKv0LB/IpkDFqJedwB9+wAKU7ayM20KVb4+5ET2dlp8pxKZjEttlrppHXXDRoGi4E3fj2O5MRryEh2WJHUYlxk7ql5bnJOO/q8Y9W8F6Xt+GFVxjhrbMdfojk+tDOFZcZB1l38DIy2VC/b9gXTjs5KEeOqKBRBvWbErYJM5uYCGG68l776H8Wfq1P3ix9BCT3OX2rFX5Y9QRDjuziuKbwbYDtriLbgfW4q+YifC68K87HTMb0zHGSRfozpdnOVlAMpVzcsuAnY951Q+y7i6xZT4BlEQ2U26WYFr0C3Ul3wcV9cixWlf8uoYSZS+fwNFM+6jYOrfKVn6PcxgLrGiPsSK+qBd/DD71n1M2splpK1cRtHf/0Lvv92D43bTOOo07EAyim2jWBZ+M0KvikoU08RTfgjFcXBcLiJ9B1A/YTKRYb3Ju+IpUNMpV6/CpajwuYrw/q6dfBCdwWG7gAK9tF3PJx7bUk7HEBqjqo+/EJlj+mjYP460ER+RvHs9BaHeKMKhNGmYTMY7iEzGpTaxgiFyd23jwPTvAODJOEC0toi4F26QpG5AMYyj67V1gZEWoPCdpawfO5dR1W9+NjZr7kl5JbXfqkUoGjsvv4QL996N3/7cmwXiqytOduLOxVHUpkS44sZiRN000h58HOXAesp//1WE5+juI4r/zPifSEcSAveucryr96BvfhPXshWoh+tx8tOI3XYRxlcmQVriWtZJ7ZNmVh3VG1+xW54/0aL8me0+rh1No/T9G+g1414Kz3iQkqXfx4p8UmOu69RPmU79lOnsB7RgIymrPyBt5TJS1nyIq6oSoesIXQdVxXG7weujdvBQwgMHE+3dr+kxBPmT/oHLX4uR9Ch2tI4v9vLJ10vwKhH2GoM6LRkXwIbU6eS6omTHkVDHIn0QO/fhmlKBd2ctWZF9lASGMbaqa88V6S5kMi61SXjjJlTbhpEjUEINeFJLqNvduZPoJKkjaMJBjQTx17U+wU1N/kJiqypY43MZ9N4bLPrFPfRtWEeKeawltztetEqj1xur2TVnDmdZz4EdaX2jjqKpVP78EszCdLJ/9wp6RQNlD3wT5yQkuZpjkVFXjVobRqkJoVaHUGtCKJUNuDaXoq87gFrbVDYkcjKwxvcjdsEYrNmjwNV1u7pIXZcZyqZ0+Q30mvbXTxLy72EbzRf8sgPJ1J55LrVnNq+9H21WU/78qy3uP23gUgIFm6jcOI/k6WOAJc3GqIqgr2sX243hhB3/URM5O8pB32BqPPnMST4c9xt0J+XLaNn3EfhgE71CW1iXdQFRLQmv3dJMEqktZDIutYlY21Qj7h05AmPb86iaTUzWi0vdgWEgdu3B+ais1aHKZac3uy82oRD/27sZsGIxyydfyewDf2lasr2TCUC8dAhH13FfkIpLGCd7jSFQFOquPQsrN5XcHz9Fryvuo+zR67AK29cNWa0P4955GM+OQ7h3Hca9uwIlFEONmSgxEyVqosQstJhNZqjlNx5WbhKxkTkYQ7Iwi7NI+/oviIZ63qRM6eQz6gspW/ktCqc+SOG0v3How693yH69GXvJGvEqwdKR1O2aQdo0h4xIA7qp4beOvgAwRqxjOyMoDxcxTlvVtPhBB1qfNgOf1Uixv5G6OLcRQ7+E2PJXvH0PUhjcyrrsuZQlDaV/w+oOje1UJJNxqU3c69cQzM7Dn5uDevgAgOykIp0SjKHZOAE3k15/iMdmLmJb+gyG1S7p9OMeLs1nzJL/sPeq8/EnR4HEXfENXngadnYK+d95jKLL/kzZw9cRG378xb6UqIF3wwF8H+3Gu24fnl2/ZcChzz5VcJI8GANysVN82FnJCK8L4XHheF0kp/UmXLUJkeLBSfHipHhwUpv+L7xf+POldJ8e21LXF63uz6EPriVvwj/pffYfiAkfiO+2++dMcwfJO/0JzHA65Wu/AihgmlibNqO4NCzz6GTcBxQWncZ2zyBG7noC5QTKb76oXs9gb9JIxte+ha70i39DVSe2LR/v2WUUvPU+nqIbKUkaJpPxDiCTcalNUjauo2bkWNIV8Kbvx4omY0XSWt9QktpA8bnImHLs5deP8OaYqEYy7G916InTVGLjC8n6cAO9q9ewOudiCkNb6cyf/qCaTu4TywhnZeE/y9uJR4pf5PSBlDzzPQqufYii+fdgFaSj9fsXRRk2TkEaTkE6IuBB31yCvmY/+uYyFMtGKAr2oBzEmROpKlIxBuVhDM7Hyk87ZoKTlDmZ8MI/xh2b3cLkUklqr3DFEPYvvpXccU+TlHs7w6zl7NTvw1Sy27Qf1RUmb8KTaO4QJUtuwjHjWzxsSO1y3im6noOBEeS05wkcw8bUaYBgVP17QBuScaDRNwpPrIxkz1YKQtsoCwxFoJyUTwl7MpmMS3Gz6urI3reL8osvJ52mlTejNX2If0qYJMVJiWKV/afVYU7qYLTUaSchoCbRCYX4luxl5iu/499X/4NlBV/jyk76GyQElG7LY/qW9ZR/50zwdswVcS07nYwprfcG1tzHHmMMyufg8zeT+vQKXAerCZRbuN7bgVob4UgnNqEpmP0zCM8ZiDEkG3NwJiLJTcacH1JXvbJDnsvnCT5bpbE1ScfuRCdJR7GjaZQtv56iS2tJd+7mNGMqO/T7qNVmtbqtqkdIG7iUtEFL0VxRytd8mVj98T9J+ryi4CaSzBq2ZJzDuA5Kdi3FxZbUKQwIbiTZirdA5TOOJxl7TRL6uAb6HviAvakTqPEUkhkr6ZD4TlUyGZfiFly7HgBt3DigHndyBQ0Hxic2KEk6iYyRuZh908h88gOmTn6cd4q/y6pQHUM74fL4xko3ox96jMYBvWByVoftV9HNuN7oMPqHx33Yzkml5qY5APgyJ1Oz8I9g2mjVEZRgDKsoFTzyT4zUE6gYytfZos9hiHUdI6wrOOx8lRp1FkF1NDF6H/3pjgiRPvht0ge/i+YOEywbSfXW2RgNBW08qsPw6sV8lHcZpbEDHXJ1fHvyeKJaEmPql7Z7H+HqQaQkrae48Xne5XuUBobJZPwEyVdKKW72mqbJm0njTkP7ZAa4XOxH6j6UplKJEyll0FQa/mc8GT9/mxGPPMnen0/iA8aR43fIdHdciUSDnUT4r8+TeriEmp/OgDh6iHcJLg07LwA07z4hSd1dWB3Getdi+tq/ocB+kDznKQBMUgkpowiqo7BJJiAeQh1RQ+jQMKq3zSZWV9TuYw6uW86GrDl81JDBhScY/5F2hpmxMgoju9q9n2hGH5I3ryfQZxcZ0QOUJg07qt2r1HYyGZfi5tmwloZefdGzMtGqNwAQq5XJuNR9hCyHmjhKGY7XtM/ql0549mCSFu5gxvR7ee7if7C0xmJergutAyYRCgEr9g/kon/cTGh8H8zhHVktmngKHLWg0nHHdnAHCUlqL2/AZKSz55OvvkGD+CqaswvN+RjN3k7A2U6q/QgKMRx1MgcXTyRa2/eEj+sSBkNrl7Jev4Bqdx6ZxuF276vM259KbxHnlD99QsWlwufGfsuPfkuYkRUvsizwPQzVi9s5Gcuf9UwyGZfiYjiCjE3rCJ42HhegsRGjIQfHim8iiiT1JMEvDce7qoSsh95n1hWHeSlcyNoGmwmpJ/6Suik6mAF/fRx3LErjl4d2QLRdTCct4CKTfKkzKVY9sfePNZlYBYYBxah6jLRJPyNa23HzIobWLmFLzhxWp89kVvm/2r2f9Wkz8NhhihtXnXBMsfICtPpdDHU/z1LlZg75h9AnuOGE93uqksm4FJfqsgoKDx0kOOY6EAKVDYRr+yc6LElKDK9OwzdOI/3u9xnw8AMMvu63bGq06e1VyfW0v1yl0krj440+vv7iP3GuvRS7bSWmHarbJbcnaZXGrs7pLiVNXUC8XZuaxsbze612ygUqrx1iVFI965wJTK5+jRSrts37CGqp7AqMYWzdElzCOOGYjIG5JL24i9Sv7SAtso/SwDCZjJ8AmYxLcYl+Ui/uHXcaOAdRqSZae2Zig5KkBDLG5BOZXIT3vseYOu9aylL7saTG5KIcNz6t7QmRIXTerpnInLuvhSQP4sfXwkePdkLkcZLJbbcjgEbDbnUcgLtzQ+ke4uzaBMCImzs3llaMT65lXWMK69LOYkbVi23eflPqGQgURtct65B4zCFZiDtA+YZgiriPZUk/RSB7q7WXbMoqxUVfswpHVRFjxuCymj5+a2prKEmnrsarx4DfR8atN3F2ukbEgberTSzR9ivF79eM5qwf3ETRRyswfj4PMmX/fkmSmqToFkMaV7MpdSoR9XizWpoLaSlsSJtOv9AWUq3qDolHJLmxRCrOOjdDvAsIu1NocPes+S0nk0zGpVYZjiBz9Qc0Dh2JCCTjNt9FkEasLr6P9ySppxKpXqzbb8H14UqKnv0nM9J1KgzBshoL0YaE/OO6AkZ+5+cMWvYm0Tsuw7xicidGLUlSdzS+9i0s1X5uO6cAACAASURBVMOGtOlxbyNQeCPvGizFxbSqlzs0HrM4G+UfFh69nkHqIkqShnfo/k8lskxFalV5Y5SRm1ZTd9U3QAhc5hIsJiPfy0kSOF++COPFd0n69e0MmH4mjVm9WVVvk9JgMz6OCZ219W5yvvlnitasIPz7r2BfMekkRC1JUmeJtxY9vjr0z2Qah+kf3Mj6tDMZV7s4rtrvNenncMBfzDnlT5FhlrfpeK0xhmbjv28XdsjDae7HeC/wfwyvfbdDj3GqkMm41Krw2nW4YlH0qVMQ9g40pwyT7yQ6LEnqGhSF4B/+TNrMGWScOZnTb7mV4FduYEMjpOgKg5OOvXKm1WDgvvoJcjaup/6eb6JdOuokBi5JidVjJ5vGW4vejjr08bVv8VxgFJtTJjO2lYV7Dnt6syJzLgMb1zGiYUWbj9UaY0gWOGBvCtDr9I+o9ebKuvF2kpc2pVa5Vzb9EtuTpuI23wHAYmoiQ5KkLsXuP5DaZR9gnHMegd/+mgvmTWP8qnd5v9aiLHqMZeXrwvCVf5C9eSMlf7lZJuLSKeXIZNN4bl2gV0+XURDdS2FkF2vTz8E+TgpnKB4W5X2dJKuemRVPdUqCLFK9WAXJ8I6DphjkuDcR1uVcl/aQybh0XDFHkLF6JcEBgxBZWbjMd7HU/gh6JTo0SepSnF5FNDz2JHXPNHU6mHn95Xzpx9/ko817qYhY1O/cQ9XLS6n70xpC316ANusvJG/fxYZ7f036PDkZWpKk+IyveZNGVwbvZ11MTPW2OObdnMuod2Ux+/ATeJ1Ip8ViFGejv9KA4+j0196h2tv+1UZPZbJMRTquw2GTEes/JDRvPggTl/k+Mc+XIZboyCSpazLPnknt0g/wP3Af/e65m2+89xaOouKOhj8dU59fxOGBwznwmy8xZqYJ8tqfJElx6hveypCGVaxLP5utKZMYU7eEsXVL8DpNrzHbQslsSxnM6dULKYzu7tRYzKHZ+N/ZQ6wii/4577DK+7/0Dm7q1GP2RDIZl44rtGkr3mAD0SlTUK3VqAQxXGehymRcko7N4yF884+IXno5+r1/JqjoGMVDcY0oQOt9CF+qQrbikM2JL74hSV1Fxy+iI7VEAeaUP8G4usV8mDGbDzPPZ13aWYyuX8aA4AberM0hP7Kb02sWdnosRnE2AGKjm8zzdhL1yw727SGTcem49JXLAbAnT8Vr/hOBiumaRiAlEteLrjfHRDWSYX9nRypJXY9T1Bvj7ntw07TIit91CKexDHklXOqRutEiOj1BTqyEuYceocpdwIcZs1iVfi6rMmbhwWb24SdQOcZ8lQ7kZPiwcpNQ3jLhPEhO6twr8T2VTMalY4ragow1K4kU9MLpVYS7/l0sfSxCTUdxquN60XVSB6OlTjsJ0UpS6zy5GWRMaX2cvGonSVJ3kWWUccHhf1Djep11aWcyZGA/UnfUnLTjm8XZeJaUEjXT6eX+gLCWh5zG2TYyGZeO6XDMZujalcRmnIXi1KNbawj7bkl0WJLUbqpudlrLMUmSpETKMMs5p/JZXCO/j3kSj2sUZ+Nbuo/o4Rz69lrKZu/NFJzE4/cE8vKPdEwN23cSqK5EmTwFl/U+Cjam6+xEhyVJkiRJUhdhDG2qG9dX2XiUIHaqnAvTVvLKuHRM2gcrAbCnnIHP+DsCP6Y+McFRSVLXono0/OqhuMbqmimnbEqS1KM4WX7sTB/6W2HsS3SSkg8kOqRuRybjUositiBz9QqMjCzsgYNw1b2L4ZoKipwpLUmfpygRnMYlcY3VUqbgDtbHt2O/nOQpSVI3oCgYxdm415ZTbQwh27sx0RF1OzIZl1p0OOYweN2HRE+fjOqUoDu7iHq/meiwJKl7c2zEpi1xDVXOPqeTg5EkSeoYZnE2vuUHiBzKo0/fxdRbtTLDbANZMy61qGb/QdJK96NMnoLbXAKAIevFJalFtqrGdZMkSeqJjtSNu1dGAQgbHyUynG5Hvm+RmhFCoK1sqhe3pkzFZ/4FW8nF1oYmODJJ6noEUBmx4hob8HduLJIkSQCOqpzU49l5Aew0LynvlBK6IhvNWgHceFJj6M5kMi41U2UKMlevxAokYw0bjrthCYZrJign95dbkiRJkqS2azTsuMZ12CwwRcEckoV3Szk7zXPp53qfBuGAIj8RjIc8S1IzO0M2Res+wJpwOjpbUUU1hvusRIclSZIkSVIXZQzNRquNECrLx6PUoNvrEx1StyGTcekzLo2YplJaVkn27u0YU89As5cCEPHOxNK1T2/yKrkkSZIkSUeYg7MA8K4IIoSCFns7wRF1HzIZlz5lCVhVGSN37YcA7B05ETu0mJBSzI7GTHbVGZ/eZNM1SZIkSZKOsIpScbw62as/5rAYjWbIZDxecSXjr776Kueffz7nnXce//73v5s9vm3bNubPn8+sWbP43//9XyyraTJTWVkZV155JbNnz+bb3/42oVAIgIaGBq677jrmzJnDlVdeSWVlJQCGYXDrrbcyZ84cLrnkEnbv3g1AKBTipptuYu7cucydO5fXXnutQ5681FyFIeiz7gMct4fgqGGkiJXUqWcmOixJkiRJkroyVcEckEHqtr3ssc/G73yE4tQmOqpuodVkvLy8nD/96U889dRTvPzyyzz77LPs2rXrqDG33nort99+O2+88QZCCJ577jkAfvWrX/HVr36VRYsWMWLECP72t78B8Oc//5nx48ezcOFCLrvsMu644w4AnnzySXw+HwsXLuSnP/0pt912GwAPPfQQBQUFvPrqqzz++OPceeedVFVVdeiJkCBsCWotQd91K2kcM44U1zo0otQqZyY6NEmSJEmSujhzUCbuAzVURk9HwcFlLk10SN1Cq8n4ihUrmDRpEmlpafj9fmbNmsWiRYs+fby0tJRoNMqYMWMAmD9/PosWLcI0TVatWsWsWbOOuh9gyZIlzJ07F4ALL7yQZcuWYZomS5Ys4aKLLgJgwoQJ1NTUUFZWxsSJE7n66qsByMzMJC0tTSbjnWBPyMIdCpKxfRP1EyaTaf8XGy/16tREhyZJPYajKnHdJEmSuhtzUCaKI0jbYhMTKbjNxYkOqVtotbVhRUUF2dnZn36dk5PDxo0bj/l4dnY25eXl1NbWEggE0HX9qPu/uI2u6wQCAWpqalrc1+HDh5k69bNk8PXXX8cwDAYOHNimJ5qZGWjT+J4kOzu51TFCCPZWVjNs2weotk1g5hDSxI+JeWcyID0GxI4arzsCl0trdb/qJ0lFR49VlKbxcY2Nc59dYeyJnIPjbSPPV+eeA6/XFddYgGicEy48x4nhi/d3yvmKc1xPHpvo3xuXS0v4OWjL2EQfv7uN/fy4eMZ7vfF1o7bj3N8XY+iQsZ8s/tN781r2TpjOEHsxvqyAbPrQila/s47joHzuJAohjvr6WI9/cRzQ7OvPb6OqarNtjtx/xMKFC/ntb3/LI4888mmSH6/q6iCOc+pNO8zOTqaysrHVcVWGQ00MZn70AkJTifVfhirqqDEKCFe+2mx8ZuZkTLP1PqaOI9Cgw8cK0TQ+rrFx7rMrjG3vOXC5tONuI89X556DaNSMb2zSiZ+Dlr7XnXK+4hzXk8cm8vfmyPc50eegLWMTffzuNvbIuNZev4+IRuNbXMwV5/E/H0OHjfXoWPnJZK9bzfJrLqDY+i815euwtUFxHaO7U1WlXRd/Wy1TycvL+3SCJUBlZSU5OTnHfLyqqoqcnBwyMjJobGzEtu1m2+Xk5HxaZmJZFqFQiLS0NHJzc6moqGi2L2iqJ7/rrrt49NFHKS4ubvMTlY5vZ8hGw6Hw7aVETh9AsmcDFsmElcGJDk2SJEmSpG7CHJxJ0voN7LfPAMBlLktwRF1fq8n4lClTWLlyJTU1NUQiEd58802mT5/+6eOFhYV4PB7WrFkDwIIFC5g+fToul4vx48fz+uuvA/Dyyy9/ut2MGTN4+eWXgaayk/Hjx+NyuZgxYwYLFiwAYPXq1Xg8HgoKCnj77bd5/PHHefrppxkyZEjHngEJWwh2RxzGlGzEs6+S4EVDSRJbaVTGgRLfx1eSJEmSJEnmwEzUmlo8ByFMAW45ibNVrSbjubm53HLLLVxzzTVcfPHFXHjhhYwaNYpvfetbbNq0CYA//OEP3HnnncyePZtwOMw111wDwC9+8Quee+45zj//fFavXs3NN98MwE033cT69eu54IILeOqpp7j99tsBuPrqqzEMgwsuuIA77riD3//+9wDce++9xGIxbrjhBubNm8e8efM+PbZ04g5EHGIOjHlnAUJVUM+zUbBpUMcnOjRJkiRJkroRY1AmAIO2ruWgM73pyrhwEhxV1xZX4fWR/t6f9/DDD3/6/+LiYp5//vlm2xUWFvLkk082uz8tLY0HH3yw2f0ej4e77rqr2f2vvPJKPGFK7bQz7OBXBBmvvU5k4gACvk3EKMBQChMdmiRJkiRJ3YhdmIJIDlC0cTUbz5/GEPUZdHsTlj460aF1WW2bBSn1OGFbUBJ1mHxoB9rOPURuOI9M3qRSvSjRoUlSt6AAGZGG+MaegpPIJUk6xagK4rQRZK3/iH32DwBwmUtlMn4cMhk/xe0ON83WH/72KwhFwT+9HiEUtNhgMjh2giGTCkn6hG1jbdoc39j8mZ0biyRJUhfgjBuF78+PYIQChP2DcZtLiPi+n+iwuiyZjJ/ChBDsCDlkuxVSX38FMXksbvdGjIZczN37j7+xTCokSZIkSWqBM34UuuNQtGUth2ZMo7/5NAgDFHeiQ+uSWp3AKfVcJVGHOkswtmwn+sfbcb42GM0dIVrTJ9GhSZIkSZLUTYmxIwEYuGU1u+3pKIRxWasTHFXXJZPxHi5iOVi61uJtfdAhSVMYsPhVhKKgTK3BsXWidQWJDluSJEmSpO4qNRlrSDGFG1ez1ZiCQMElWxwekyxT6eEMW7Crzmh2f4MlqIg59POp6C+9RMOUCaRo7xOt6gVC/lhIkiRJktR+5oTTyXh1AVEnhYg6+pNk/LZEh9UlySvjp6iSqINLgX4Hd5K0YxvRa/ujECZS0zfRoUmSJEmS1M1Z4yei19eRsX835UzHZa0CEUp0WF2STMZPQSFbUGsJ8j0qOQuberh7xh/EUQswg1kJjk6SJEmSpO7OHD8RgMFbVrPHmoaCictckeCouiaZjJ+CSqIOGpDvVshauICGmWNJda3EcV1AU9dkSZIkSZKk9rMHDsJJTaPP5tVsMSYicOOWdeMtksn4KSZiC6pMQZ5HIXnfbgLbt2B+MxcFB9t9QaLDkyRJkiSpJ1BVzPETyNmwirDwE9EmyEmcxyCT8VNMacxBAQo8KlkLF4ALkkevpU45A6HJloaSJEmSJHUMa/xE/Du242lsoIIZ6PZGFKc60WF1OTIZP4XEHEGFIch1K7jVphKVyPf64lYrOKjfkujwJEmSJEnqQczxE1GEoM+WNey1p6EgcJnvJTqsLkcm46eQspiDAAo9Kt59ewhs34T25UYaldHUKWclOjxJkiRJknoQ67RxCEVh4JY1fGyOwSEg68ZbIJPxU4TlCA7HBFkuBa+mkP3aS3AeuFOqKdFuAUVO3JQkSZIkqeOI5BTsocMp3LiKOksnpk+RdeMtkMn4KeKQIXCAXl4VxTTJe+oxrJuTCCuDqFIvTHR4kiRJkiT1QOb4iaRtWA2OQ5UyHd3ZhWqXJjqsLkUm46cAWwjKYg7pukKSppD12ot4B5ah9wlRot0EipboECVJkiRJ6oHM8RPQGhrI3ruDvfZ0AFzmksQG1cXIZPwUUG4ILNF0VRwh6PXQfdg3+YhRQIV6WaLDkyRJkiSphzKnTgNgxEfvstssxlEyZd34F8hkvIezhaA06pCiQYqukPb+uwR8W9CGRyjRvodQ3IkOUZIkSZKkHsop6o01dDgDlr1JlaEQc01vqhsXItGhdRkyGe/hdtUbGAIKvU3f6l4P3Yf9XQ8mGRzWrk5wdJIkSZIk9XSxWXPIXL0SvaGOGuUcNHEI3V6b6LC6DJmM92BCCNZVR/GrNNWLb9lIetUStCkxSrUbcJSkRIcoSZIkSVIPZ5w3G8W26b/yXXY75yNw4Ym9mOiwugyZjPdgB6IOtTGHMaKRvo0VDPnb3YhvaziOHy08jz4N5UfdNNtKdMiSJEmSJPUw1thxOFlZDH3vDcrMVAzXOXiMF0E4iQ6tS9ATHYDUOYQQbGi0SdFshtasQT9cgX/ba/AHQSw8E39wf7NtlIK+Jz9QSZIkSZJ6Nk3DmDmLvgtfY1HIIJpzKamhRejWR1iuSYmOLuFkMt5DHTYElYbgnNRGnM3P4X5yPVwrQKgE9zg41n+abzTi5pMfqCRJkiRJPV7s3NmkPvNvMtd9RM35c0jBi8d4QSbjyDKVHmtjo41XheFJIZSQga9kN8yHSHV/HMuX6PAkSZIkSTqFmGedjeN2M3DZm5SbSRju8/DEXgZhJzq0hJPJeA9UYziURB2GBzRcCvje3oX6AwdhuQgeGp7o8CRJkiRJOsWIQDLmlDMY+P6blMccou5L0UQ5Lmt5okNLOJmM90AbG21cCgwNaBCN4Y98DJMhWD4CYcu+4pIkSZLU3TiqEtetKzPOm03m3p1Edu3GcM9CkCS7qiCT8R6nwRLsiTgUJ2l4VAXlxQVoN1rYdX4ilf0THZ4kSZIkSW0kgEbDjuvWlZfSMc6dDUD24jcwhI+Yew4e42UQZoIjSyyZjPcwmxstFGB4sgbhMNqBe6EPNFSchvx2S5IkSZKUKE6fvkQGD2XAe29SZQhinktRRU3TipynMJmd9SAhW7Aj5DAwSSVJU/A/8huUrwYxSjMxgvmJDk+SJEmSpFOcOWs2RetWUl1dh+GaiaOk4jVeSHRYCSWT8R5kfYOFAMYk66gHD+D3P4DwKjTUTUh0aJIkSZIkSdizzkezLPTFb4HiwXBfgNv4L4hYokNLGJmM9xANluDjkMOQJJVkXSH5oe/CPBuHS7BjyYkOT5IkSZIkCWvceGLpmWS88yYhWxBzz0cV9bjNdxIdWsLIZLyHWNdgoQKjU3Rc7y/FfcYSMPw4WXIhH0mSJEmSughNw5h5HgOWv83O+hiG6ywcJR1P7PlER5YwMhnvAepMh91hh2EBjSRhk/zfb8N4CCb/CtSURIcnSZIkSZL0KWfWbHz1tdSv/AAHnZh7Hm5jIYhwokNLCJmM9wBrGmx0BUYla3ifvh/tqhLsUG+iyf+T6NAkSZIkSZKOYp51Do7LRa8lb3Eg6jR1VSGI23gz0aElhEzGu7kqw2FfxGFEQMNXX0Mg+deIbIWG/CdA0RIdniRJkiRJ0lFEcgrm5KkMfu8NtgVtTP0MHCUHr3FqLgAkk/Fubk2DjUeFEckaKYu/gjLNJBy5Gcs1LtGhSZIkSZIktcg8bzYZe3YQ3rWHekv5pFRlEYpTn+jQTjqZjHdj5TGHkqjDqGSNwK7/4Jr2AfbOvoT7/DLRoUmSJEmSJB1TbM6FCF1n0uP3sT3kEPVeA8TwR+5MdGgnnUzGuykhBKvrLXwqDNeqSbG/A1UqdYMXgKIkOjxJkiRJkqRjcop6E7n2eka//C/qVq8lqo0i6vkmvuiD6Nb6RId3UslkvJsqiwkOG4IxAZXstTNR0g1ClT/DyeiX6NAkSZIkSZJaFb71J1j/v717D6rqPPc4/t2bvbkoRDSKWm9JTWfSQ4g6xUY4BpJ0wkVAKzFtqtEaE20zenSaSAJqdDRaGrReiCQ1aaadGNJjTI5QMghqU3VGaascE2NrUjVBBRVBQC5y2Zf3/GHLibcIFlhCf5+/WO96936fdz1r4eO712Lf2Z+HXknjiwYPDb2W4bUNILB+ARiP1eF1GRXj3ZD3H6vivX3gu8XP4PPtkzQXR9P48EKrQxMRERFpE3NHHxoXLWXoJwdwbdmCsQfT0PsXOD2H8G960+rwuoyK8W7owEUPlS7DhJJs/O/dhuevA6iN22Z1WCIiIiLt0jx1OrVhY/jO2uVcqK6l2TeZFuf36N34MnbPGavD6xIqxruZvzd4OFLv4T/r/sI3ez8HFx3UjPoD+DisDk1ERESkfex2mtIzCKo4h+2Xa8Bmo673WmzGReClF62OrkuoGO9GzjV72VftZhR/YrzvJAjyUuv3a7x97rI6NBEREZFbYvvuA5yc9ANG/uY13F+cwOtzN5cCXsCvJffyN3P2cCrGu4k6t+EPF1yEObYT5/N9qHdTX7qOlruTrQ5NRERE5F/S8tJyvA4HziWLALgUMB+3z70ENiwE02BxdJ1LxXg30OI17Kx0Mcr2K+IcM7Ad9XDpT8/T9ODTVocmIiIi8i8LHj6ET366kP67ttO0cyfYfKnrvQEf72l6X/qF1eF1KhXjtzmvMeytaiaiYR4P+76EbRc05SRzac5Sq0MTERER6TB9/msuNcPupteSVErrmnE7I2j0m0FA00b8mj8AY6wOsVOoGL+NGWP4W/Xf+V7ZQ9wf/N+Yd5zUtayjbsNv9MU+IiIi0qP0DQygeeUvuPPLY9z5g0mcPnSEhl4rcPvczx31T3FH3RPYPaVWh9nhVIzfhrxeLxV1f6S5bCIPecYSEvI33NkjqZr8vzTNeFqFuIiIiPRI9vh4qn+ZycDjRxmVEEXt4tXU2LdR32sVvq7d9K35Lv5Nb4DxWh1qh2lTMZ6Xl8eECROIiYkhOzv7mv1Hjx4lOTmZ2NhYFi9ejNvtBuDMmTNMmzaNuLg4nn32WRoaLt+AX1tby5w5c4iPj2fatGlUVFQA0NLSQkpKCvHx8UyePJkTJ04Al1eIX3nlFeLi4pgwYQLFxcUdMvnbjdfbyMWLv8X33Hf4j5ZJDG3ai/m1g/qPllI9rxjv8BFWhygiIiLSqdzTZ3KxqJhTyVP55ltZBEaOw719EFV9inA7xxLUsJDg2hh83EetDrVD3LQYLy8vZ926dbz77rvk5OSwZcsWjh8/fkWflJQUli5dSmFhIcYY3nvvPQCWL1/O1KlTKSgo4L777uO1114DYP369YSHh7N9+3Yef/xxVq1aBcDmzZsJCAhg+/btLFq0iLS0NAAKCws5ceIE+fn5ZGVlkZaW1lrwd1umAR9XMTRmYy+dT8BfI7izdBj3uOfT98sTsAhcL46j+omDNE5bCHZ9iCEiIiL/Hmz9+9P71Vf5y/s7qLlzIME/fRrv5HmUbP0+FaXP4+P6O30vjqdP7UR6NyzCr/ldfNyfgmmxOvR2u+k3xezfv59x48YRHBwMQGxsLAUFBcybNw+AsrIympqaGD16NADJyclkZmby+OOPc+DAAbKyslrbn3zySVJSUti9e3frCntiYiIrVqzA5XKxe/duFixYAMDYsWOpqqrizJkz7NmzhwkTJmC327n77rsZPHgwhw4dYuzYsW2eqN3etbd2+Hi/xK/5f7CZBmzmEvazX2BvuoDH1oQ9oAlHv+b/7+wPVID7k7uoK70fBsXheekBPMNGgM32r91LZJzYew9oW1+7X4f3tfkGg8O/w/viDMbmCGhb306YV2f1vdVjYHfYsbu/5iM7Ha8ecwyum+vOOF638THosr4WnjOtebb6GLSnr9Xjd7e+/+h309/fnTV+Z/b18e2gusvGyIciKC38I+fe38q3f5PFgF+tvbyrTx88M+/E5/6zOIecxObMA8DgxGMfyaWA53A5Izsghra71TnbjPn6R1M3bdrEpUuX+NnPfgbA1q1bOXz4MC+//DIAhw4dIiMjg9/97ncAnDx5kjlz5rB582amTJnC3r17AXC73YwePZojR45w33338fHHH+NwXP6/QFRUFFu3bmXGjBm88cYbjBhx+XaMH/3oR6SkpJCVlcXTTz9NZOTlg7pw4UKio6NJSkq6pUmLiIiIiNwObrro6vV6sX3lgUFjzBXbN9p/dT/gmu2vvsZut1/zmn+2X28Mu27bEBEREZFu7qYV7aBBg1ofsASoqKggJCTkhvsrKysJCQmhX79+1NXV4fF4rnldSEgIlZWVwOUV84aGBoKDgxk4cCDnz5+/5r0GDRp03XYRERERke7spsV4ZGQkRUVFVFVV0djYyI4dO4iKimrdP2TIEPz8/Fr/wklubi5RUVE4nU7Cw8PJz88HICcnp/V10dHR5OTkAJCfn094eDhOp5Po6Ghyc3MBOHjwIH5+fnzjG98gKiqKvLw8PB4PJ0+epKSkhLCwsI49EiIiIiIiXeym94zD5T9tuGnTJlwuF1OmTGH27NnMnj2b+fPnExYWxmeffcaSJUuor68nNDSU9PR0fH19KSsrIzU1lQsXLjB48GDWrl1Lnz59qKmpITU1ldOnTxMUFMSaNWsYOnQozc3NLF26lCNHjuDr68vKlSsJDQ3FGENGRkbr/edpaWmMHz++0w+OiIiIiEhnalMxLiIiIiIiHU9PQYqIiIiIWETFuIiIiIiIRVSMi4iIiIhYRMW4iIiIiIhFVIyLiIiIiFhExXgPlZeXx4QJE4iJiSE7O9vqcOQWTZ8+nYSEBCZNmsSkSZP45JNPbpjb/fv3k5SURExMDOvWrWttP3r0KMnJycTGxrJ48WLcbrcVU5HrqK+vJzExkdLSUqD9OTxz5gzTpk0jLi6OZ599loaGBgBqa2uZM2cO8fHxTJs27YovZpOud3We09LSiImJab2ud+7cCXRc/sUaGzduJCEhgYSEBDIyMgBd09JGRnqcc+fOmYcffthUV1ebhoYGk5SUZI4dO2Z1WNJOXq/XjB8/3rhcrta2G+W2sbHRREdHm1OnThmXy2VmzZpldu/ebYwxJiEhwRw6dMgYY0xaWprJzs62ZD5ypY8//tgkJiaa0NBQc/r06VvK4Zw5c8yHH35ojDFm48aNJiMjwxhjzPLly82mTZuMMcZs27bNLFiwoKunJ/9wdZ6NMSYxMdGUl5df0a8j8y9db9++feaHP/yhaW5uNi0tLWbGjBkmLy9P17S0iVbGe6D9+/czbtw401Nt+QAABnxJREFUgoOD6dWrF7GxsRQUFFgdlrTTF198AcCsWbOYOHEi77zzzg1ze/jwYUaMGMGwYcNwOBwkJSVRUFBAWVkZTU1NjB49GoDk5GSdC7eJ9957j2XLlhESEgLQ7hy6XC4OHDhAbGzsFe0Au3fvJikpCYDExET27t2Ly+WyYJZydZ4bGxs5c+YMixYtIikpiczMTLxeb4fmX7regAEDSE1NxdfXF6fTyciRIykpKdE1LW3isDoA6Xjnz59nwIABrdshISEcPnzYwojkVtTW1hIREcFLL72Ey+VixowZxMfHXze318t5eXn5Ne0DBgygvLy8S+ch17dq1aorttubw+rqagIDA3E4HFe0X/1eDoeDwMBAqqqqGDhwYGdPS65ydZ4rKysZN24cy5YtIygoiJ/85Ce8//779OrVq8PyL13vW9/6VuvPJSUlbN++nSeffFLXtLSJVsZ7IK/Xi81ma902xlyxLd3DmDFjyMjIICgoiH79+jFlyhQyMzOvm9sb5VznQvfR3hxeL5c3yq0xBrtdv+5vB8OGDSMrK4uQkBACAgKYPn06e/bs6dT8S9c5duwYs2bN4oUXXmDYsGG6pqVNlMkeaNCgQVc83FFRUdH6Eal0HwcPHqSoqKh12xjDkCFDrpvbG+X86vbKykqdC7ep9uawX79+1NXV4fF4rugPl1fgKisrAXC73TQ0NBAcHNyFs5Eb+fzzzyksLGzdNsbgcDg6NP9ijeLiYmbOnMnzzz/P5MmTdU1Lm6kY74EiIyMpKiqiqqqKxsZGduzYQVRUlNVhSTvV1dWRkZFBc3Mz9fX1bNu2jdWrV183t6NGjeLLL7/k5MmTeDwePvzwQ6KiohgyZAh+fn4UFxcDkJubq3PhNtXeHDqdTsLDw8nPzwcgJyenNbfR0dHk5OQAkJ+fT3h4OE6n05qJyRWMMfz85z/n4sWLuFwutmzZwqOPPtqh+Zeud/bsWebOncuaNWtISEgAdE1L29mMMcbqIKTj5eXlsWnTJlwuF1OmTGH27NlWhyS3YP369RQWFuL1epk6dSo//vGPb5jboqIi0tPTaW5uJjo6mrS0NGw2G5999hlLliyhvr6e0NBQ0tPT8fX1tXhm8k+PPPIIb7/9NkOHDm13DsvKykhNTeXChQsMHjyYtWvX0qdPH2pqakhNTeX06dMEBQWxZs0ahg4davVU/619Nc/Z2dlkZ2fjdruJiYlh4cKFQPuv4RvlX7reypUr+eCDDxg+fHhr2xNPPMFdd92la1puSsW4iIiIiIhFdJuKiIiIiIhFVIyLiIiIiFhExbiIiIiIiEVUjIuIiIiIWETFuIiIiIiIRVSMi4j0IJ9++inz58/n8OHDLF26tEvGnD17NsePH7+mvaCggOnTp3dJDCIi3ZWKcRGRHiQsLIzMzEyOHz9OeXl5l4z55ptvcs8993TJWCIiPY3D6gBERKTj/PnPf2bx4sW43W7q6upIS0sjPT2djz76iNdffx2Xy4W/vz8vvvgiY8aM4dVXX+XUqVOUl5dTUVFBaGgoDzzwADk5OZSWlpKSkkJiYuLXjvnII4+wYcMGwsLC2LBhA3l5eQQHBzNixIgumrWISPelYlxEpIfx9/dn1qxZFBYWkp6eTklJCevWrePtt9+mb9++HDt2jKeeeoodO3YAUFxcTG5uLk6nk6ioKPr37092dja7du1i9erVNy3G/2nXrl3s2LGDnJwc/P39mTt3bmdOU0SkR1AxLiLSw+3bt4/z588zc+bM1jabzcapU6cAiIyMJCgoCICQkBAefPBBAIYPH05NTU2bxykqKuLRRx8lMDAQgMcee4zNmzd30CxERHomFeMiIj2c1+slIiKC9evXt7adPXuWkJAQdu7cia+v7xX9HY5b/6fBGNP6s4+Pzy2/j4jIvws9wCki0gP5+PjgdrsBiIiIYN++fZw4cQKAPXv2MHHiRJqamjp0zKioKAoKCqitrcXr9ZKbm9uh7y8i0hNpZVxEpAcaPXo0WVlZzJs3j40bN7JixQqee+45jDE4HA5ef/11evfu3aFjRkdH8/nnn/PYY49xxx13cO+991JdXd2hY4iI9DQ289XPFEVEREREpMtoZVxERL7W73//e956663r7ktKSuKZZ57p4ohERHoOrYyLiIiIiFhED3CKiIiIiFhExbiIiIiIiEVUjIuIiIiIWETFuIiIiIiIRVSMi4iIiIhY5P8AQ6GbfgW0kRkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.title(\"Distribution of item_id over years\")\n",
    "\n",
    "item_id_2013 = sales[(sales['date_block_num']<13)]['item_id']\n",
    "item_id_2014 = sales[(sales['date_block_num']<25) & (sales['date_block_num']>12)]['item_id']\n",
    "item_id_2015 = sales[(24<sales['date_block_num'])]['item_id']\n",
    "\n",
    "sns.distplot( item_id_2013 , color=\"skyblue\", label=\"item_id_2013\")\n",
    "sns.distplot( item_id_2014 , color=\"red\", label=\"item_id_2014\")\n",
    "sns.distplot( item_id_2015 , color=\"gold\", label=\"item_id_2015\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## 2.6 item_cnt_month over years"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x27facf05198>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "x = range(1,13)\n",
    "ys = sales.groupby(['date_block_num'],as_index=False)['item_cnt_day'].agg('sum')['item_cnt_day']\n",
    "y = [list(ys[:12]), list(ys[12:24]), list(ys[24:])+[0,0]]\n",
    "pal = sns.color_palette(\"Set2\")\n",
    "plt.stackplot(x,y, labels=['2013','2014','2015'], colors=pal, alpha=0.9 )\n",
    "plt.legend(loc='lower right')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.7 Relation between item_price and item_id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x246814e5550>"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 864x864 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,12))\n",
    "sns.jointplot(x=sales[(sales['item_price']>5000) & (24<sales['date_block_num'])]['item_price'], y=sales[(sales['item_price']>5000) & (24<sales['date_block_num'])]['item_id'], kind='kde')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x24682c20278>"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 864x864 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbMAAAGkCAYAAAC7PsukAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xt4U1WiP/xvbr3f26QpbWkpoGJBinYQHG2VkRYoFcUbgnhG5hwdzjj+XmdGBxDhOGcYFHll5Cg+njPOzOtP5iiO0gqnFm8DHilyVaBY7rTQW5re72ku+/2jNKYlaZM0yc5Ov5/n8aHZ2dl7rUD317X22mvJBEEQQEREJGFysQtAREQ0WgwzIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiEjyGGZERCR5DDMiIpI8hhkREUkew4yIiCRPKXYBxKDXd4y4T2xsGFpaun1QGu8KlHoAgVMX1sP/+HNd1OpIsYsgCWyZOaBUKsQugkcESj0A1+qia+5G6cHL0PnhBSpQ/k4CpR5AYNVlrBqTLTMKbIIg4O3/qcD5mjbs+Md5ZCRFYclPJmNSSrTYRSMiL2HLjALOsbONOF/Thvmz0nB3dgr0bT14/x/nxS4WEXkRW2YUUExmC/6+7wKS4sOQNTEeZouA7l4TDpTXo727D1FhQWIXkYi8gC0zCij/e7wWuuZu5M8cD7OlfxH1ScnREACcvNAkbuGIyGsYZhQwevtMKP76EianREMbF2rdnhgbiohQFb491yhi6YjImxhmFDD2fVeL9m4j7rolGRbLD9tlMhkmjovCqUvNMJosjg9ARJLFMKOAYDRZsOfQZVyXGoP4iJBr3p+YHA2D0YyzV1pFKB0ReRvDjNxiEQRU1Xf4TUunrLwOrZ19+PFNWuu9MltpiZFQKmT49pxehNIRkbdxNCO5pLm9F58fqcbBCh1aOgy4c0YyHsu/XtQyWSwCPjl4GeMTI6CNCYXZTr6qlHKka6Pw7blGLJt7HWQyme8LSkRew5YZOU0QBPzHhyfx2ZErSFaH48b0WOz7tgaV9e2iluvImQY0tPQgZ3qy3SAbMDE5Ci0dBtQ0dvmucETkE2yZ+YlTlc24UNMGi0WAUiHHnTOSERGqErtYg5y61IwqXQcevGsSMpIi0Wswo6q+A+9+ehZrlt8CuQitHZPZgl37K5EYF4pUTTjM5mu7GAekJ/bPcXeuuhUp6ghfFZGIfIBh5ge6eo14/cOTMBjN1m1HTjfg10uyEOnmQ759RjMu1bXDLJfDU7PO/c+BKsREBGNiUiQsAhAcpEDu9HEoOXgZB8rr8eNpSR46k/P+cawGNY1deGze9cMGGQBEhQchLESJc9VtuGtGio9KSES+wDDzA3u/rYHBaMbK+6YiJkyFi3Ud+HDfRbzy39/iN4/McHrWCrPFgkMVDfjf47U4X9MOk9mCIJUC/1wwBdk3aEZVxvPVbThzpRWLbp8A2/EVmRPicPxCE3b84zyyr9cgOMh3E7a2d/Wh6OtLmJIei3HxYYOG49sjk8kwLj4cl2rF7RYlIs/jPTORGU0WfH6kGlPSYhEdFgSzpX/k3f25E6Br6cHGd48NO5xcEATomrvx+ZErWP3WN/ivXd+jpdOA229KwtK7J2NcQji2FZVj1/5LEIThWy7D+Z8DlYgIVeGG8TGDtstkMtw+LQkd3UYcv+Dbh5L/vu8C+oxmzM1OHTHIBiTFh0HX0oPuXqN3C0dEPsWWmci++b4ebV19WHxnBiw2TZ60xCg8eOdElHxzGS9tP4bbpyXh5uvVEAQBfUYL6pq6UK3vwsXaNrR29gEA0rWRKJidjnHxYdbh6Y8vTMAHX5zBzv+9hMiwINw5I9nlMlbrO3H8QhPmzxoPe3k4PjECkWEqlJXXY+aURPe+CBddqG3D1yfqMOeWFIQGKeyWy55x8eEAgMr6DtyYHufFEhKRLzHMRGQRBOw51D8y0N6Q8hR1BB6ffwMOVuhQdqoeX5+ss74nkwHqmFBkjItGmjYSSXGhiAoPgsWCQc9ZqZRyzJ85Hq0dBuwqq8SPpyVBpXStQf7V8VooFTJkOrj4y2Qy3DA+FkfP6tHZY/T6wBWjyYK/lJxGbEQwsq9XOx1kAKCNDwMAnKtuY5gRBRCGmYjKLzajtrELD8+Z5HBIuUopx+3TkjB9UjwMfRbIZIBCLkdMRBDkctmg1pyjrjaZTIbZmVp8sPcCysrrkZs1zukymswWfHNKh2kZ8VDIZQ6D48a0WBw+3YAjZxpwZ5brrT9XfLz/Emobu/D4gimAiz2nwSoFEqJDcKGmzTuFIyJR8J6ZiI6eaUBYsBITtCMvix4ZGoSE6BDER4UgJqJ/QIjFzkwXjqRrI5EUH4bdZZUwDfcw1hAnLzShs8eIaRPjh20BaWJDER8dggPl9U4f2x2X6tpR8k0VZmcmIjE2dOQP2JEUH4ZLde2juodIRP6FYSai05dbMCklGi5kktsGWmdN7b345nud05/bX16PyDCV9V7TcMefMj4W56rb0NTWO9ri2tXda8Tb/1OBmPBg3HFTkkthbispPhxdvSY0tvV4uIREJBaGmUga23qgb+1FelKUz845cVwUEmNDsWv/JaeCoLPHiOPnG3HL9Rqn9p+SFgsAOHTa+bAEgE8OVmH1Wwfw+3eOYOvfT+DAqfprWk29fSb82399A11zN+6/cyIA9x/QHnf1vtkFDtEnChgMM5Gcruofbp989cLqCzKZDLMytdC39uKYExPuHvxeB7NFwI1XQ2oksZHBGJcQjq9P1Dndhbf/ZB0++McFhIWooFLKUa3vxH/t+h5bdhy3tpwMRjO2/v0EzlQ1Y+nc6xAfFezUsR1JiA6FSiHH+WreNyMKFBwAIpLTl1sQEapCTESw3VnevWVycjRiI4NR8k0VbrlO7XDCXUEQ8PXJOqSowxEdETTi7BoDpmXEYc+hK7hQ245JydHD7nvmcgv++slpXD8+BotzMmA2C7BYBBy/2IR939XguTcPQIb+MR4yACsKM5EQGeTS6EV75HIZtPFhbJkRBRCGmQgEQUBFVQsmp0T7NMiA/gt59vVqfHakGudr2jA5JcbufhVVLaiq78Di3AyngwwApoyPxT+O1WDvtzXDhllzey9e/+gk1DGhWHT7BOs55HIZZkxKwMSkKJy+0gK5XAa5TIZUTQQmpcagpaXbtQo7kJwQjkOnG9BjMCE0mL8GRFLHbkYRNLT2oKXDgDSt7+6X2Zo6IR6hwUp8cvCy3fcFQcDHX19CbEQwJqcM37oaKkilwJSrw/SHm2Xjg70X0GeyYMndk+0Or48KD8LMGxKRfZ0GN09WQx0dOuoWma00bSQsFgFnq7lYJ1EgYJiJoKKqBQAwLsF398tsqZRyZE1KwPFzjahrunY5lNNVLThb3YY7b06G4Mbam9MnJcBosjgcNXn2SisOfq/DnJuTEeziA9yekpwQDqVChpMXm0Q5PxF5FsNMBKerWhAdHoToMPGWeLn5ugTI5TJ8uO8iLEOaPMX7KxETEYTrUl1rlQ3QxoUhMTYUe7+tuWYgiEUQ8N9fnENsRDCyJiV4tLXlCqVCjlRNBE5dahGnAETkUQwzHxMEAacvt2JyasywC0l6W3iICnfclIRjZ/X4cO8F6/aTF5tw9kor7pyR4larbMBNExNQre/CmSGTJO8/WYeq+g7Mn50mWpANSEuMhK65Gy0d3nkujoh8h3e+fay2qRvtXX1ISxR/ccgf3aBBe3cfPjl4GUEqBRrbelBWXo/4qBBMSYtxaeDHUDemx+LwaR1e//Akfr0kCxOSovDtWT3+9vk5ZIyLQpomwueDX4ZK10YBqMX3lS2irMVGRJ7DMPOxM5cH7pcNP6OGL8hkMsyZkYLOHhOKv74EpUKG3KxkZF+fMKogA/rnQHx4zmS8/+V5/L/vfYfZmVp8cawa6dpI3JeTIXqQAYA6JgThIUqcvNjMMCOSOIaZj52uakFsZDDCQ5ROr8HlTXK5DAWz0pCRFIkb0uMQrJR7rPsvOjwID8+ZhPe/PI8vjlVj5hQNfnJLyqiD0lNkMhnSEiNRUdUMiyBA7uCZOyLyfwwzH7JcvV92Y3qsXwTZAJVSjpsmJgCAx+9jRYcHYendk9HU0YsJ2ki/CbIB6dpIfF/Vghp9J1I1I0/4TET+iQNAfKi2sQudPUaMTxxbF82IUBXSNJF+FeAD0q6uWHCCQ/SJJI1h5kOnB54v8+F8jDS8yLAgpKoj8MWRahhNfpi2ROQUhpkPnb7civioEIR7eSVmcs3sqYlo7ezDfpuVvIlIWhhmPmIRBJy5un6Zv903GuvSEiORrA7HrrJKts6IJIph5iPVDZ3o6jWNuftlUiCTyXBbphYtHQbsL2frjEiKOJrRR05f7p8JQ6z5GGl46dpIjEsIx+79lZh5gwZhIdd2BXf3mlBR1YK2LgPau/qQro1C1uQEEUpLREMxzHykorIZ6pgQhAUr2c3oh2QyGe64KQkf/OM81v35EFYsmIIb0+MgCAKa2nrx5bEa7P2uBr195kGfu/XGRCybex0ieB+USFQMMx/o7DGi/FIz7pg+jkHmx9ISI/Fo3nUo+eYyNr/3HVI1EWhq60W3wQS5TIYZ1yUga3ICwkNUCFEp8E2FDl+fqMOZyy34fx6czi5kIhExzHzg4Pc6mC0CpqTFil0UGoE2LhzL867HNxU6NLf3YnxiAmIjQzBxXBRCghSDHiqfNSURGdpI7PzfS/iPD0/ihZ9mIyosSLzCE41hHADiA2XldUhRhyMmghc6KVAp5bhjWhIW/XgCfjw1CTemxSJYpbA7O4omNgyLbp+Ati4D3iwqh0nMpRCIxjCGmZfVNnbhUl0Hbr5OzS7GAKWNC8O8meNx5nIr3vvivNjFIRqT2M3oZWXl9ZDLZJiU4t5ClyQNN6bHoaG1B18eq0aqJhy5WcliF4loTGHLzIssFgEHTtXjxvRYqBT8qgNdzk3jkDEuCv/307PWpX6IyDd4hfWi4xca0dJhwE2TEkRfVZm8Ty6XYeHsNMRGBuONneVobO0Ru0hEYwbDzEvaOg34/0rPQBsXhlS1+Atxkm+EBClx3+0TYDJbsHH7MVTVd4hdJKIxgWHmBRaLgLc+PoVegwkP3jWRrbIxJi4qBA/PmQSLRcDG7Udx9EyD2EUiCngMMw8TBAEffXURpy+34r7cDIQGcYzNWJQYG4Zlc6+DOiYUb+wsx6s7vkP5xSYI/D8bIq/gldZDTGYLjpxpQMmBKlTruzArMxEZ2iiYLbx4jVURoSo8fNckHD2rx7Gzery64zjio4IxZUI8kuJCoYkJQ2xkMGIighAeokKQSg6ZTCZ2sYkkSSaMwf9VbGrqHHGf+PiIEffr7DHivS/PoaG5B21dBggCoIkNxcwbE5GaEAGLH3y1UVGhaG8PjIEIUq6L2SygUteOK/ouNLT0oKW995p9FHIZgoOUCFLKEaSSQymXQ6GQQ6mQQS7rf18ml0MmA+RXQ882+wb+uQmCAMFmmwABEPpfCDb72ZLJ+uenxNVjy9D/2vb4/VuvHhcCVCoFjEbztQcbemybz8kGv+F9V6ve/6Mw6Du6+jYAQKVSwmg02S2ave9huHrERAajYHaa9e9otOLjIzxynEA3JsOMiIgCC++ZERGR5DHMiIhI8hhmREQkeQwzIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiEjyxuxEw01NnbAMMwlwbGwYWlq6fVgi7wiUegCBUxfWw//4c13U6kin9x3puiYVrtR5gFdbZq+//joKCgpQUFCATZs2AQBWr16NvLw8LFq0CIsWLcJnn30GACgrK0NhYSHy8vKwZcsW6zEqKiqwePFi5Ofn4/nnn4fJ1D8ZaG1tLZYtW4Z58+Zh5cqV6Orq8mjZlUqFR48nlkCpBxA4dWE9/E8g1WWs8lqYlZWV4euvv8bOnTtRVFSEU6dO4bPPPkN5eTneffddFBcXo7i4GHPnzkVvby/WrFmDbdu2oaSkBOXl5di3bx8A4Nlnn8W6deuwZ88eCIKAHTt2AABefPFFLF26FKWlpZg6dSq2bdvmraoQEZGf81qYqdVqrFq1CkFBQVCpVJg4cSJqa2tRW1uLNWvWoLCwEFu3boXFYsGJEyeQlpaG1NRUKJVKFBYWorS0FDU1Nejt7UVWVhYAYPHixSgtLYXRaMThw4eRn58/aDsREY1NXrtnNnnyZOvPlZWV+OSTT7B9+3YcOnQI69evR2RkJJ588kn8/e9/R1hYGNRqtXV/jUYDnU6HhoaGQdvVajV0Oh1aWloQEREBpVI5aDsREY1NXh8Acu7cOTz55JN47rnnkJGRgTfeeMP63vLly1FUVIT8/PxBK+wKggCZTAaLxWJ3+8CftlxdodeZBe/cuQnpjwKlHkDg1IX18D+BUJexvJCnV8Ps6NGjePrpp7FmzRoUFBTgzJkzqKystHYPCoIApVIJrVYLvV5v/Zxer4dGo7lme2NjIzQaDeLi4tDR0QGz2QyFQmHd3xUjjfpRqyOh13e4WGP/Eyj1AAKnLqyH//HnunA0o3O8ds+srq4Ov/jFL7B582YUFBQA6A+vP/zhD2hra4PRaMT777+PuXPnYvr06bh06RKqqqpgNpuxe/du5OTkIDk5GcHBwTh69CgAoLi4GDk5OVCpVMjOzkZJSQkAoKioCDk5Od6qChER+TmvtczefvttGAwGvPTSS9ZtS5YswRNPPIFHHnkEJpMJeXl5WLhwIQDgpZdewi9/+UsYDAbk5uZi3rx5AIDNmzdj7dq16OzsRGZmJh577DEAwPr167Fq1Sq8+eabSEpKwquvvuqtqhARkZ+TCYIg/TapG9jNKD2BUhfWw//4c13YzegcTmdFRESSxzAjIiLJY5gREZHkjdmJhl0VFBokdhHc0tZpkGzZhwqUurAe/scXdenr6fPq8cc6tsyIiEjyGGZERCR5DDMiIpI8hhkREUkew4yIiCSPYUZERJLHMCMiIsljmBERkeQxzIiISPIYZkREJHkMMyIikjyGGRERSR7DjIiIJI9hRkREkscwIyIiyWOYERGR5DHMiIhI8hhmREQkeQwzIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiEjyGGZERCR5DDMiIpI8hhkREUkew4yIiCSPYUZERJLHMCMiIsljmBERkeQxzIiIAoRMJnYJxMMwIyIKEGazRewiiIZhRkQUIIxmQewiiIZhRkQUIEwmhhkREUmckd2MREQkdbxnRkREkmcW2M1IREQSN4azzLth9vrrr6OgoAAFBQXYtGkTAKCsrAyFhYXIy8vDli1brPtWVFRg8eLFyM/Px/PPPw+TyQQAqK2txbJlyzBv3jysXLkSXV1dAID29nY88cQTmD9/PpYtWwa9Xu/NqhARScDYTTOvhVlZWRm+/vpr7Ny5E0VFRTh16hR2796NNWvWYNu2bSgpKUF5eTn27dsHAHj22Wexbt067NmzB4IgYMeOHQCAF198EUuXLkVpaSmmTp2Kbdu2AQD++Mc/Ijs7G5988gkefPBBbNiwwVtVISKSBPkYfmraa2GmVquxatUqBAUFQaVSYeLEiaisrERaWhpSU1OhVCpRWFiI0tJS1NTUoLe3F1lZWQCAxYsXo7S0FEajEYcPH0Z+fv6g7QCwd+9eFBYWAgAWLlyIr776Ckaj0VvVISLye3L52A0zpbcOPHnyZOvPlZWV+OSTT/Doo49CrVZbt2s0Guh0OjQ0NAzarlarodPp0NLSgoiICCiVykHbAQz6jFKpREREBJqbm5GYmOhU+eLjI0bcR62OtP7c1mlw6rhERPbYXk+8JSE+AnFRIV4/jz/yWpgNOHfuHJ588kk899xzUCgUqKystL4nCAJkMhksFgtkNs3jge0Df9oa+tr2M3K58w3NpqZOWCyO+5fV6kjo9R3W10GhQU4fm4hoKNvriStcCcHuTgPMBun3ULkT/F4dAHL06FH89Kc/xa9//Wvcd9990Gq1gwZq6PV6aDSaa7Y3NjZCo9EgLi4OHR0dMJvNg/YH+lt1jY2NAACTyYSuri7ExMR4szpERH4tWDV2uxm9FmZ1dXX4xS9+gc2bN6OgoAAAMH36dFy6dAlVVVUwm83YvXs3cnJykJycjODgYBw9ehQAUFxcjJycHKhUKmRnZ6OkpAQAUFRUhJycHABAbm4uioqKAAAlJSXIzs6GSqXyVnWIiPyeQjF2n7aSCYJ3nkz4/e9/jw8//BDjx4+3bluyZAnS09OxceNGGAwG5ObmYvXq1ZDJZDh9+jTWrl2Lzs5OZGZmYuPGjQgKCkJNTQ1WrVqFpqYmJCUl4dVXX0V0dDRaW1uxatUqXLlyBZGRkdi8eTNSUlKcLh+7GYnIl/p6+tz6nCtdbiNd16TCnW5Gr4WZv2OYEZEvMcyc53f3zIiIiHyBYUZERJLHMCMiIsljmBERkeQxzIiISPIYZkREJHkMMyIikjyGGRERSR7DjIiIJI9hRkREkscwIyIiyWOYERGR5DHMiIhI8hhmREQkeQwzIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiAKGIHYBRMMwIyIKEBYLw4yIiCSuz2QRuwiiYZgREQUIk5ktMyIikrixG2UMMyKigMF7ZkREJHkKuUzsIoiGYUZEFCAU8rF7SR+7NSciCjBytsyIiEjqVEqxSyAehhkRUYBgNyMREZGEMcyIiAKEMHZH5jPMiIhI+hhmREQkeQwzIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiEjyGGZERCR5Xg+zzs5OLFy4ENXV1QCA1atXIy8vD4sWLcKiRYvw2WefAQDKyspQWFiIvLw8bNmyxfr5iooKLF68GPn5+Xj++edhMpkAALW1tVi2bBnmzZuHlStXoqury9tVISIiP+XVMDt+/DgeeeQRVFZWWreVl5fj3XffRXFxMYqLizF37lz09vZizZo12LZtG0pKSlBeXo59+/YBAJ599lmsW7cOe/bsgSAI2LFjBwDgxRdfxNKlS1FaWoqpU6di27Zt3qwKEZHfs1jG7uSMXg2zHTt2YP369dBoNACAnp4e1NbWYs2aNSgsLMTWrVthsVhw4sQJpKWlITU1FUqlEoWFhSgtLUVNTQ16e3uRlZUFAFi8eDFKS0thNBpx+PBh5OfnD9pORDSWNbX3il0E0Xh1KbcNGzYMet3Y2IhZs2Zh/fr1iIyMxJNPPom///3vCAsLg1qttu6n0Wig0+nQ0NAwaLtarYZOp0NLSwsiIiKgVCoHbSfPqqxrd/kz6UlRXigJETmjWt+J+KgQsYshCp+uS5qamoo33njD+nr58uUoKipCfn4+ZLIflvsWBAEymQwWi8Xu9oE/bQ19PZL4+IgR91GrI60/t3UaXDq+rzkTPCMFjTvh5egYDDWiwWyvJ97yj29rkXPLeASpFF4/l7/xaZidOXMGlZWV1u5BQRCgVCqh1Wqh1+ut++n1emg0mmu2NzY2QqPRIC4uDh0dHTCbzVAoFNb9XdHU1Dls/7JaHQm9vsP6Oig0yKXje8toAscTYXWxZvAxMpLth5btuXwRbK7UjUFLYrC9nrjClRCsb+rCf350HA/PmezWufyFO8Hv0zATBAF/+MMfMGvWLISFheH999/Hfffdh+nTp+PSpUuoqqpCSkoKdu/ejfvvvx/JyckIDg7G0aNHccstt6C4uBg5OTlQqVTIzs5GSUkJCgsLUVRUhJycHF9Wxec8EUSuGBpazu5nL9wq69q9EiDufie+DloiX8mcEIdPD12BQi5Hwew0hAb79BIvKpkgeH9t0jlz5uCdd95BSkoKtm/fju3bt8NkMiEvLw+/+c1vAAAHDhzAxo0bYTAYkJubi9WrV0Mmk+H06dNYu3YtOjs7kZmZiY0bNyIoKAg1NTVYtWoVmpqakJSUhFdffRXR0dFOl0kqLTNnL9jOho+jlpQzn7dXFkdhYO88ngoObwQ7Q428ra+nz63PudJK2f/tFfxPWSVOXmxGZJgKi26fgJzp46BUSOuRYndaZj4JM38khTBzdNF2Nri8ce6RDA0FT4baSGVy5ntxFOaewECk4fgizA6dqIGhzwxdSzf2Ha9FZV0HtHFhWJyTgemT4qFSSuNeGsPMBf4cZu6G2GgHgTj6vLPBZnts259HG2jDnX80we6tYGOokT2+DDOg/7bOpbp27DteB31rD4JUctwwPhbTMuIxbWI8NDGhbpXHFxhmLpBamNm7aHvzPtrQY1+pa3K4b2pS/KDXzoaaMxd9V4Pd0f6udId6AgONhvJ1mA0wWwRcaehEla4D52va0NTW/yyaNi4MUzPicFNGPK4fH+NXrTaGmQv8NcyGXoyHXrRH23oC7F9o7X3eXoA1N1QPeh2nSRn0eiDYRttKc6U15mqo2zufN0KNgUa2xAozW4IgoK27D1X1Hais78DFmnYYzRYEKeW4fnwsJqVEI10biTRtJKLCxBvBzTBzgT+GmatB5q2WmW2IDQ2v4QwEmzuBNrCPq/fF7O3v7EAVZ1trI3VlDheEDDQa4A9hNpTJbEFNYxcu6zpwobYdDS091vfiooKRlhh5NdyikK6NRFS4bwKOYeYCqYWZ7XuudAEOx7Z7cOgxbEOsXV854rGi1OkAnAs0d1tBjr4Pe6+H4yhkR2u4kCbyxzAbymiyQN/Wg4bWHjS09KC2sWtQwMVGBltbbgMhF+2FgPP758zIMXeCzFGI2WtNDe0OdPR5RyE2XKBFqdPtvp+aFG/3GbOLNe0uB5orQWavXrbBbVsmTz4D5069iPyJSinHuPhwjIsPt24zmi3Qt/ZA39oDXUsPahq78N25Rgw0BQYCLj0pChOSIpGujUJEqMrnZWfLzAFft8xsL8gjBdlwrShX2Abc0GMMhNPgQLto9zhR6oyrf6YP+jNOk3JNC82Z7sahnA0yZ1qotqE2NMQ8FWrefMaOpEsKLTNnGc0WNLb1oKG1Fw3N3agZ0oJTx4QgXRuFCVcDbnxipEsPcLNlJlHOdJE52sdRkNmG0EC4uPpZZ4Js4L0odQZyeD8zAAAgAElEQVTa9ZXWVtrAOa/UNV0z2tEVw92vcjXIhpZnaKtspFaas/fi2EKjQKdSyJEUF46kuHAgo//3yWgy94dbSw90Ld24UNOGw6cbAAAyANr4sKsBF4nMCXFIsmn9eQLDzI+NNMLQUWtqKGeCbeh+joJs6DkGjjcQaI4MBIVtYIzmoj9ckDnbzerOuey95+wjBmydUSBTKRVITghHcsIPIdXbZ7oacN2ob+7GqUvNOHCqHgAwLSMe+TNTMSUt1uWJ4u1hmEmAvYupqwM07O1rG2wjBdlwQTn0OAOvmxuqRxUi7gzBd9TatC3LSK0zwLmRlbaf8cR9QaJAExKkxHhNBMZr+lcpEQQB3QYTTlU248hpPTa/9x3GJ0Yg70epmDklcVTTbklrwq4xzt1Ri0RE/kAmkyE8RIWZNyTiicIbUTA7DYY+M/60uwLPvXkA357Vj3wQBxhmfsYX8y6OZLiuSCIiT1Aq5LgxLRbZN2igUsjR2mlAXXO3+8fzYNmIAoavl9whGmvqmrrwxbEa1DZ2IVkdjkfnXofrx8e6fTyGmZ/JSI5y2DpLTYr3WFfj0NaXo2fFnH0/0Lhyz8we3i8j+oHFIqCpvRe1TV2oa+pGXWMX9G29iAhV4bF51yM3KxmjHQLCMPNjtqP/hl5Y4zQp1sEOP4worBzxmMN1IdoG1g9D7DOsg0CG/2zGNfvYDv5wZyTf0GC3/R5sf7YN+YFz2g4EcTR/pL1y2ZsdZKRQ4yhFosE6e4yoa+pCbWM3apu6oGvuRp/JAgAIDVYgXRuFH09LwtyZqQgN8kwMMcwkZuiF2/ai7Wh0oiv3wBwFWv8xXXtoeqC8ttx5aNodjkZRDvfMm6NQGi7UnA0yBh4FKoPRjIaWHtRdbXXVNnWho9sIAJDLZEhWh2NWphYTU6IxOTka2rhQYNTtsGtxBhAHxJwBBPhhIIizU1m5OguIvYv9cM+tjdTqszf7B3DtHI2jnQEEcH+eSmeXqhktzgBC9gTCDCC9fSbomvsfiq5v7oaupQctHQbr+7GRwZiQFIWMcVGYnBqDCdpIt4bbc6JhF0glzIa+5+zFe7huNme48xybN4JsgCuBNhJvTWMFMMjIMamFWbfBBF1zN3Qt3dYAa+38oQ4xEUEYn9g/6XDGuChkJEUhKjwInkgUhpkL/D3MAOcDDXD9GTRH3W0jtfgczQAywBtBNsATS+L4Osg8fQ6SLn8OM0EQ0NxhQGVdOy43dELX3I32q12FQP9yMNbgSuqfczEyTOWR4LKHYeYCfwszwLVAc7S/p7jSjTnSAp2evE822oU5B7i68vRwz/9xPTNyhr+FWbfBdHWRznZU1ndY73PFRQUj/er6ZROutrjCQpReCy57vBJmy5cvH3berHfeecflk/oDfwwzYORAc7TPcNttOTuPoC1nW332Rgk6uyjnSGWw5ShYRlN/rjRN3iZ2mJnMFtQ2dqGyvgOX6tuha+6f5T4kSIHrx8di6oQ4TJsYj8TYUJ8Glz1emTX/0UcfBQB89tln6OzsxP333w+FQoHi4mJERfGX1RfsDVEHrr14e+riOXSuQldmvXdndenhttsLqIFjDQ01d4f/ewODjPyFoc+MI2cacOSMHgajGXKZDGlJkSj8cSKmZcQjY1wU5DYNFrGDzF1OdzM+9NBDeO+99yCX949MsVgsePjhh/HBBx94tYDe4q8tM8C9Vokzn3X2AjvSLPHOHHOkIHP1Yj+a78Qehhj5mq9bZn0mM74924iDFTr09plx08R43HHTOEzNiEOwSuFWWXzFq+uZtbS0wGAwIDQ0FADQ1dWFtrY2l09IIxtu9glHrRLbz3ri/LZsyzLc8e2956nRfc601AbY+25cDS9XZwBhiJG/sFgEHDunxzendOg2mDAlPRYP3DkRE7SB/W/U6TBbuHAhHnroIcydOxeCIKC0tBQPPfSQN8s2po00+4SnByoMdwxPdt+N9qLvzKwc7gSXK9uJ/NlXJ2pxqKIBk1KicX/uRFyfGiN2kXzCpdGMX3zxBQ4cOAAAuOOOO5Cbm+u1gnmbP3cz2iPmxLfOduOJMapvNN8Lw4p8yRfdjO/tqcD2T8/itmlJ+JeFUyR7/8sroxkvXLiAiRMn4tSpU3bfz8zMdPmk/kBqYWZLajO6+zI0PHHPkMgbfBFmP3/pc8hlMrzwT9mjWuhSbF65Z7Zp0ya89dZb+OUvfwmZTAbb7JPJZPjiiy9cPimNznAXZW8PAHGWWMHBwKKxzGiy4NdLsiQdZO4aMczeeustAMCXX37pcJ8///nPWLFihedKRW7z9gAQX5yfiNyjjQ+HOjpU7GKIwiOz5u/atYthFsAYUETSMDklWuwiiMYjbdExOiMWEZFfGRcfJnYRROORMBtuuisiIvKN2MhgsYsgmrF3l5CIKEBFhfvPqGtfY5gREQWI0GCV2EUQDe+ZEREFiNCgsds+8UjNf/azn3niMERENAqKMfh82QCnh+aXlJTgtddeQ3t7/zNHgiBAJpPhwIEDKCws9FoBiYiIRuJ0mL3yyitYu3Ytxo8f783yEBGRm8byHR+nwyw5ORk/+clPvFkWIiIitzgdZvfeey9efvll5OTkQKn84WM/+tGPvFIwIiIiZzkdZgcPHsRXX32Fr7/+etD2Xbt2ebxQRERErnA6zL7//nt89dVXCA4eu0+YExGRf3J6HGdCQgJMJpM3y0JEROQWp1tmiYmJWLRoEW677TYEBf0wZcratWu9UjAiIiJnOd0yGz9+PO69915oNBrExMRY/xtOZ2cnFi5ciOrqagBAWVkZCgsLkZeXhy1btlj3q6iowOLFi5Gfn4/nn3/e2gKsra3FsmXLMG/ePKxcuRJdXV0AgPb2djzxxBOYP38+li1bBr1e73LFiYgocDgdZk899RT++Z//GXPnzsW//uu/4mc/+xmeeuoph/sfP34cjzzyCCorKwEAvb29WLNmDbZt24aSkhKUl5dj3759AIBnn30W69atw549eyAIAnbs2AEAePHFF7F06VKUlpZi6tSp2LZtGwDgj3/8I7Kzs/HJJ5/gwQcfxIYNG9ytPxERBQCnw+z48eO4++678eSTT6KhoQF33nknjh075nD/HTt2YP369dBoNACAEydOIC0tDampqVAqlSgsLERpaSlqamrQ29uLrKwsAMDixYtRWloKo9GIw4cPIz8/f9B2ANi7d6911pGFCxfiq6++gtFodO8bICIiyXP6ntnLL7+Mv/71r/jNb34DrVaLTZs2YcOGDfjwww/t7j+0tdTQ0AC1Wm19rdFooNPprtmuVquh0+nQ0tKCiIgI6zNtA9uHHkupVCIiIgLNzc1ITEx0tjqIj48YcR+1OtL6c1unweljExENZXs98RZnrmuByukw6+3txaRJk6yvc3NzB933GonFYhm0iOfA3I6Otg/8acvRIqCCIEAud22CzaamTlgsjud+Uasjodd3WF8HhY7ddYKIaPRsryeucCUEm5o6YLG4dRq/4k7wO50ASqUSbW1t1kC5ePGiSyfSarWDBmro9XpoNJprtjc2NkKj0SAuLg4dHR0wm82D9gf6W3WNjY0AAJPJhK6urhEHoxARBTqjeexOzuh0mP385z/Ho48+ivr6evzqV7/CI488gpUrVzp9ounTp+PSpUuoqqqC2WzG7t27kZOTg+TkZAQHB+Po0aMAgOLiYuTk5EClUiE7OxslJSUAgKKiIuTk5ADobxUWFRUB6J/NPzs7GyrV2F2UjogIAHr7zGIXQTQywYWVNauqqrB//35YLBbMnj0bEydOHPEzc+bMwTvvvIOUlBQcOHAAGzduhMFgQG5uLlavXg2ZTIbTp09j7dq16OzsRGZmJjZu3IigoCDU1NRg1apVaGpqQlJSEl599VVER0ejtbUVq1atwpUrVxAZGYnNmzcjJSXFpYqzm5GIfKmvp8+tz7nS5VZ+tgGJsaFuncefuNPN6HSYrVmzBn/4wx8GbXv66aexdetWl0/qDxhmRORLvgizvYeqkDkhzq3z+BN3wmzEASDr16+HTqfD0aNH0dzcbN1uNBqtD0OTZ1TWtTt8Lz0pyoclISIpqm/pDogwc8eIYfbAAw/g3LlzOHv2LObNm4eBhpxSqbQ+G0buGy7AHO3HYCMieyoqW/CTm1275RIoRgyzP/3pT3jttdfw5ptv4u23377mfS4B4x5nQ2ykzzLYiGhAtb4Tze29iIsKEbsoPjdimP3Lv/wLgGsfgib3jCbERjoeg42IdpVV4p/m3SB2MXxuxDCbOnUqAGDmzJleL0yg83SQOXt8hhzR2DB9UgI+O3wFWZMSMH1SgtjF8SmnZwCh0XEUNBdrnAu4jGT3A2nouT0ZbgxQIv/xo+s1OH6uEX8pOY3Vy29GYmyY2EXyGZeeMwskvhyab++C72yI2TOaYBvKndBxtYXJYCPyzdD8QydqUN3Qife+PA+ZDFh571RkpktvdKNXp7Mi97gSZJV17U4FxcWa9lGFoTvnHNjPna5Sdz9HRK5Tx4Ried51iAhV4dX3v8Nnh69gLLRZ2DJzwFMts6EX8aEh5MxF3pWWzWhbbUPP5Y0QYkuNxiJftcwMV6e0MhjNKD14GWeutGL6xHg8cvdkaCTS7ejVGUACjS/CbLggcyckRhMCnuya9BSGGo0lvg4zoH9FkWNnG/H1yTqYLQLm3zoeC2anIVilcKssvsIwc4G3w8zVIHNlkMZoQ8Afgw1guFFgEyPMBnR09+Hrk/U4ebEJ8dEhWDJnMm6+LsHhslpiY5i5QKwwG7p9pBaaowu8vwSao3t3YgQmw5D8mZhhNqBa34kvjlVD19yDqRPisGzudUiM87+uR4aZC3wZZo5aZa50NXqrpeZu6LgyAMVfWoIMOxKTP4QZAFgsAo5faMT/nqiDyWxB/szxWDg7HcFB/tP1yDBzgRhhNlKQXalrQmpSvMNjOnMxdueC7WrYuDuS0l9CbQDDjXzJX8JsQGePEV+frMOJC02IjwrGvxRm4rpU/1jk2Cuz5pPrRmpxDX3/Sl2T3Z+HCzZXzu0vF21nQtCXgTfwXfnL90PkSxGhKsybOR7TMuJReugyNr/3LR6fPwWzp2rFLppbGGZeNtIF3Da8RlJZ1z6qh5wdffZiTbvTIeKp59vEOL6jOjLUaCxLTgjH0p9Mxq6ySvzX7u9R39yNe++Y4LeDQxxhmBEA1wJNqoYG5dD6MtRorAoNVuL+nAx8drQau8oqYTJb8OBdk8QulksYZn5spHtornK3ZedpYs0GMrTujgLcX74nIl9SKOTI/1EqFAoZPjl4GROSopB9g0bsYjmNYUY+4+tVA4abzWTgvYHWmr1WGgONxhqZTIa7spKha+7Bn0sqkKwOR1J8uNjFcgrDTGSpSfEO75t5slUGeKb7LCM5yq37Ws48KO5pww2GGdqlaK+VxkCjsUipkGPRj9Pxzp4z2PTf3+I3S2YgOcH/A41D8x0Qa2g+4DjERnthHenzrtwzcyXQnHlQ3JWBMO4Y+p3afhe2P9v7Dhho5An+NjR/JPrWHnyw9wIA4FcPT0e61ne/B3zOzAViPzTt67kZnfmsOwNARgq14YLM0wHW3FB9zbY4Tco122yDbeB7YaCRt0ktzACgpcOAD/aeh6HPjOXzrsetUxJ9MsqRYeYCscNs6M/D8XaIDRjNaMbhlrWx9/PQILMXRN5gG24DoeZMoDHMaLSkGGYA0N7Vh4/LLqG2sRvXp8Zg6dzrkKqJ8Og5hmKYucBfJhp2d25Gd/dzxBPD8u0Fmr2W6ECQOQqwdn3loNdR6vQR9xmJ7TEYaCQGqYYZ0D8F1qnKZuw7Xosegwl3zUjGvXdkICJU5fFzAZwBxK+kJ0V5fK0yT37WlqeeL3NmcIijrsXhwsmV4HIUhAPbo9TpaG6ottv9CAw/6IMDQmiskstlmJYRj0nJ0fjm+3r849saHD7dgEfunuyzrseRMMx8xPZC72zQOeLJC6pYD0oPtMrsBZUnW2a2+0Wp09GurxwUaAPP8tkLqrHwIDmRK0KDlbhrRgqmTojDZ0eq8Z8ff49vTumwPO96xEeHiFo2hplIhg4Rd3Z/T/LGhdqZ1pm9IPNcy+zioNdR6oxBxxku0IjIOeqYMCyZMxnHLzRi3/FarP3TQTz8k0m4MytZtDLJRTvzGDA0gNwZJZeeFOXxIMtIjnI7yPy1m61df/GaIBvY7qzRjDQlGmvkchlmTFbj8flTkBQfhv9begZdvUbRysOWmY/Za7n4KiA8FWC2r1258Ltzv8wZIwVWu/6itYU2tHXmKt43IxosOjwIWZMSUFnfgaY2A8JDvDMoZCRsmXmZ2Be+gVaYO0HmTKvQ3vu+vM/kSsuLiLyjz9Q/grKpvUe0MjDMRODNi71teI3mPK6EsLP7Orov5U4L6YfPZoy8kweJ/T8nRP6kqb0XH311ESXfXEZ0RJCo8ziymzEAeDIc3b1YuzJCM06T4tGHpH/oQrTfSrMNvIHgtBegDCoi53T3GrG/vB7fnW9EkFKORbdPwIJZ46FSKkQrE8NMwvwhxJw57sB9pqFhN3DvaujP7nK3lTbcvI1E1M9ktuBibTu+r2rBhZo2WAQBt09Lwv25ExEV7tqkEt7AMBOBJ1ZT9lSQefLCbRtYjoboD6wSMNA6Gxpo7nAmBG2PPfCzoweniaifxSLgckMHKipbcKa6FX1GCyJCVciZPg4/yU7BOD9aHoZhNgb5uuUxtHVmL9AA90c1uhKCQ4OM01kRXUvX3I3yS804fbkFXb0mBKsUuHmyGrOnaZGZHge5H8z4MRTDTIL8+RkxZ1pntmzvn41mIMhIQWhvbkY+KE30gx6DCd9XNuPkxWY0tPZAIZchc0IcZk/V4pbr1FAq/Hu8IMPMy1x5DmvogpGeImaLYiDQ7LXOAFhbaLaGDg6x1x04dB9ngnC4CYaH/sxWGY0FFouAyvoOnLzYhPM1bTBbBKRoIvDI3ZPx46lahIn0zJg7GGY+5spSKd5ejNNbHI1stA00ANeE2gBn7mW5e7/L3lpmQ39mkFGgM5st+O58Iw5WNKCzx4iwECVyssYhNysZaYkRkOJaKgwzP+CN6ZP86QLsaJJl25891eU3dJYRZ1btHmlhTqJAIQgCzlW3Yd/xWrR0GDAxORrLslOQfb0GCrns6j4iF9JNDLMA5A9BNrR1NjTQAMdTQw0Nd2f2GTBcKA43LddAGUf6DJFU1TV14R/f1qBa3wVNbCh+ef9NmDE5HoD/DeZwB8NMYkZqOfjTxXe4QBt4H3AuvOwdezTlGopBRoFKEAQcPt2Avd/VIjxUiaVzr8Ocm5P9ckTiaDDM/JQ7F1J/vPjaCzQAdkPNE1wNRoYYBTJBEPDltzU4ekaP6ZPi8cQ9mQgNCszLfmDWyo8NN2u+t0Yzis3egBB7oeapc41kuNZtoH33NHaZzRbs/qYKZy634s6sZCyfdx1kAdKlaI8oYbZ8+XI0NzdDqew//e9+9ztcvnwZb775JkwmE/7pn/4Jy5YtAwCUlZVh48aNMBgMmD9/Pp555hkAQEVFBZ5//nl0dXUhOzsbL774ovV4/sSVOQvdaUU4+1mxOepS9JcBF/7+/RG5au93tThzuRX35WSg8LY0BMq9MUd8/hScIAiorKxEcXGx9T+tVostW7bgb3/7G4qKivD+++/j/Pnz6O3txZo1a7Bt2zaUlJSgvLwc+/btAwA8++yzWLduHfbs2QNBELBjxw5fV8VvSOlC7G9l9cbip0Riq6hqwdGzetyZlYzC29IR6EEGiNAyu3ixf2bzFStWoLW1FQ899BDCw8Mxa9YsxMTEAADy8/NRWlqKmTNnIi0tDampqQCAwsJClJaWYtKkSejt7UVWVhYAYPHixdi6dSuWLl3q6+q4xZmZMex9JlC4u7inN85PFGhaOgwoPXQZadpILJ07Wezi+IzPw6y9vR2zZ8/GCy+8AKPRiMceewzz58+HWq227qPRaHDixAk0NDRcs12n012zXa1WQ6fT+bQernB0z8jZQJNy9+JIpF5+In+z97sayAA8tXia309B5Uk+D7MZM2ZgxowZ1tcPPPAANm7ciJUrV1q3CYIAmUwGi8UCmc3w0ZG2uyI+PmLEfdTqSOvPbZ0Gl47vjJECTUrD8IloeLbXE29p7THhXHUbHpwzGTdMVI/8gQDi8zA7cuQIjEYjZs+eDaA/iJKTk6HX66376PV6aDQaaLVap7Y3NjZCo9G4VI6mpk5YLI4fdVerI6HXd1hfB4WObr0eRwNB/HnSYCLyHNvriStcCcF9x64gOiIId988zu3z+QN3gt/nbdCOjg5s2rQJBoMBnZ2d2LlzJ1555RUcOHAAzc3N6OnpwaeffoqcnBxMnz4dly5dQlVVFcxmM3bv3o2cnBwkJycjODgYR48eBQAUFxcjJyfH11VxmacCiEFGRPbUN3Vjzs0poq74LBaft8zuuusuHD9+HPfeey8sFguWLl2KW265Bc888wwee+wxGI1GPPDAA7jpppsAAC+99BJ++ctfwmAwIDc3F/PmzQMAbN68GWvXrkVnZycyMzPx2GOP+boqbnFlqL6jzxMR2SOTAXdMTxK7GKKQCYJUp5UcHV93Mw7laqAxxIikra+nz63PudLltuHP3+CJwky3zuNP3Olm9L+njMcIRw8RO9qPiGgkY/l6wTAT2Vj+x0dEnpWu9f6ISX81dh5CICIKcNr4MLGLIBqGGRFRgIj08L19KWGYEREFCKUi8OdgdIRhRkQUIMbm2PR+DDMiIpI8hhkREUkew4yIiCSPYUZEFCAsFovYRRANw4yIKEC0d5vELoJoGGZERAGitbNX7CKIhmFGRBQgmtoYZkREJHG6lh6xiyAahhkRUYBoYJgREZHUNbYxzIiISOJaO/swRtdbZpgREQWKPqMZPYaxOTyfYUZEFEB6+sxiF0EUDDMiogBiNrObkYiIJE4Aw4yIiCQuLFgldhFEwTAjIgoQMhkQEaoUuxiiYJgREQWIsBAV5HKZ2MUQBcOMiChAxEeFYIw+ZsYwIyIKFPHRIWIXQTQMMyKiABEXFSx2EUTDMCMiChAJUWyZERGRxCXEMMyIiEjiosKCxC6CaBhmREQBIiyEYUZERBIXrBqbz5gBDDMiooAhkzHMiIhI4sbqA9MAw4yIiAIAw4yIiCSPYUZERJLHMCMiIsljmBERkeQxzIiISPIYZkREJHkMMyIikjyGGRERSR7DjIiIJE/SYbZr1y4sWLAAeXl52L59u9jFISIikSjFLoC7dDodtmzZgo8++ghBQUFYsmQJbr31VkyaNEnsohERkY9JtmVWVlaGWbNmISYmBmFhYcjPz0dpaanYxSIiIhFINswaGhqgVqutrzUaDXQ6nYglIiIisUi2m9FisQxau0cQBJfW8omPjxhxH7U60vpzW6fBtQISEdmwvZ54izPXtUAl2TDTarU4cuSI9bVer4dGo3H6801NnbBYHC/+o1ZHQq/vsL4OCh27y5ET0ejZXk9c4UoIjnRdkwp3gl+y3Yy33XYbDhw4gObmZvT09ODTTz9FTk6O2MUiIiIRSLZllpiYiGeeeQaPPfYYjEYjHnjgAdx0001iF4uIiEQgE4SxudA2uxmJyJf6evrc+hy7GZ0j2W5GIiKiAQwzIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiEjyGGZERCR5DDMiIpI8hhkREUkew4yIiCSPYUZERJLHMCMiIsljmBERkeQxzIiISPIYZkREJHlKsQsgFe6uEiu2oStmS1mg1IX18D+BVJexii0zIiKSPIYZERFJHsOMiIgkj2FGRESSxzAjIiLJY5gREZHkMcyIiEjyGGZERCR5DDMiIpI8hhkREUkew4yIiCRvzM7NKJfLPLKPFARKPYDAqQvr4X8CqS5jkUwQBEHsQhAREY0GuxmJiEjyGGZERCR5DDMiIpI8hhkREUkew4yIiCSPYUZERJLHMCMiIsljmBERkeQxzIiISPIYZkPs2rULCxYsQF5eHrZv3y52cQbp7OzEwoULUV1dDQAoKytDYWEh8vLysGXLFut+FRUVWLx4MfLz8/H888/DZDIBAGpra7Fs2TLMmzcPK1euRFdXFwCgvb0dTzzxBObPn49ly5ZBr9d7tR6vv/46CgoKUFBQgE2bNkm2Lq+99hoWLFiAgoIC/OUvf5FsPQa8/PLLWLVqlUfL29fXh2effRbz58/HfffdhwsXLni1DsuXL0dBQQEWLVqERYsW4fjx4w5/pz31d0V+QiCr+vp64a677hJaWlqErq4uobCwUDh37pzYxRIEQRC+++47YeHChUJmZqZw5coVoaenR8jNzRUuX74sGI1GYcWKFcLevXsFQRCEgoIC4dtvvxUEQRBWr14tbN++XRAEQXjiiSeE3bt3C4IgCK+//rqwadMmQRAE4cUXXxTeeustQRAEYefOncL/+T//x2v12L9/v/Dwww8LBoNB6OvrEx577DFh165dkqvLwYMHhSVLlghGo1Ho6ekR7rrrLqGiokJy9RhQVlYm3HrrrcJvf/tbj5b3T3/6k/DCCy8IgiAIhw4dEh588EGv1cFisQi33367YDQardsc/U578veH/ANbZjbKysowa9YsxMTEICwsDPn5+SgtLRW7WACAHTt2YP369dBoNACAEydOIC0tDampqVAqlSgsLERpaSlqamrQ29uLrKwsAMDixYtRWloKo9GIw4cPIz8/f9B2ANi7dy8KCwsBAAsXLsRXX30Fo9HolXqo1WqsWrUKQUFBUKlUmDhxIiorKyVXl5kzZ+Kdd96BUqlEU1MTzGYz2tvbJVcPAGhtbcWWLVvw85//HAA8Wt69e/finnvuAQD86Ec/QnNzM2pra71Sj4sXLwIAVqxYgXvuuQfvvvuuw99pT/7+kH9gmNloaGiAWq22vtZoNNDpdCKW6CORgaAAAAc0SURBVAcbNmxAdna29bWjsg7drlarodPp0NLSgoiICCiVykHbhx5LqVQiIiICzc3NXqnH5MmTrReKyspKfPLJJ5DJZJKsi0qlwtatW1FQUIDZs2dL9u9k3bp1eOaZZxAVFXXNuUdbXnvHqq+v90o92tvbMXv2bLzxxhv461//ivfeew+1tbVO/Z2M5u+K/APDzIbFYoFM9sMyEIIgDHrtTxyV1dF2e3VxVDdBECCXe/efxrlz57BixQo899xzSE1NlWxdnn76aRw4cAB1dXWorKyUXD0++OADJCUlYfbs2dZtnizv0M948+9jxowZ2LRpEyIjIxEXF4cHHngAW7dudenvxBN1J3GM2fXM7NFqtThy5Ij1tV6vt3br+RutVjtoUMBAWYdub2xshEajQVxcHDo6OmA2m6FQKAbVTaPRoLGxEVqtFiaTCV1dXYiJifFa2Y8ePYqnn34aa9asQUFBAQ4dOiS5uly4cAF9fX2YMmUKQkNDkZeXh9LSUigUCknVo6SkBHq9HosWLUJbWxu6u7shk8k8Vt7ExEQ0NDRg/Pjxg47lDUeOHIHRaLQGsyAISE5Odurf1mj+rsg/sGVm47bbbsOBAwfQ3NyMnp4efPrpp8jJyRG7WHZNnz4dly5dQlVVFcxmM3bv3o2cnBwkJycjODgYR48eBQAUFxcjJycHKpUK2dnZKCkpAQAUFRVZ65abm4uioiIA/Re37OxsqFQqr5S7rq4Ov/jFL7B582YUFBRIti7V1dVYu3Yt+vr60NfXhy+++AJLliyRXD3+8pe/YPfu3SguLsbTTz+NOXPmYOPGjR4rb25uLoqLiwH0h01wcDDGjRvn8XoAQEdHBzZt2gSDwYDOzk7s3LkTr7zyit3faU/+myM/4cPBJpLw8ccfCwUFBUJeXp7wn//5n2IX5xp33XWXcOXKFUEQ+kegFRYWCnl5ecKGDRsEi8UiCIIgVFRUCPfff7+Qn58v/OpXvxIMBoMgCIJQXV0tPProo8L8+fOFFStWCK2trYIgCEJLS4vw5JNPCgsWLBAefvhh6/G94d///d+FrKws4Z577rH+97e//U2Sddm6daswf/58YeHChcLWrVsFQZDm38mADz/80Dqa0VPl7e3tFZ577jlhwYIFwr333iuUl5d7tQ5btmwR5s2bJ+Tl5Ql//etfBUFw/Dvtqb8r8g9caZqIiCSP3YxERCR5DDMiIpI8hhkREUkew4yIiCSPYUZERJLHMKOAdvLkSTz99NM4ceIE1q1bJ3ZxBhkoGxGNHofm05jw0UcfYc+ePXjrrbfELgoReQHDjALawYMHrWtSdXR0IC8vDxs3bsSXX36JN998E0ajESEhIfjtb3+LGTNm4D/+4z9w+fJl6HQ66PV6ZGZm4tZbb0VRURGqq6vx7LPPYuHChcOec86cOSgoKMD+/fvR0dGBxx9/HEuXLsXBgwexYcMGhIWFoaurC8899xxefvll7N69G11dXfj973+PY8eOQaFQ4O6778YzzzwDo9GIzZs34/DhwzCbzbjxxhuxdu1aRERE+OgbJJIGzs1IAS8kJAQrVqzAnj17sHHjRlRWVmLLli145513EBsbi3PnzuHxxx/Hp59+CqB/7sji4mKoVCrk5OQgISEB27dvx+eff45XXnllxDADgLa2Nnz44YfQ6XS49957ccsttwDon2D5888/R3JyMg4ePGjdf+vWrTAYDCgpKYHZbMaKFStw6NAhHD58GAqFAh999BFkMhleffVVbN68Gf/2b//mle+KSKoYZjTm7N+/Hw0NDfjpT39q3SaTyXD58mUA/XN0RkZGAuifQPeOO+4AAIwfPx6tra1OnWPp0qWQyWTQarW44447sH//fmRmZiIpKQnJycnX7F9WVobVq1dDoVBAoVDg3XffBQC88sor6OjoQFlZGQDAaDQiPj7e7boTBSqGGY05FosFs2fPxh//+Efrtrq6Omg0Gnz22WcICgoatP/AGlausP2MxWKxLnsSFhbmcH/bJUXq6uoQEhICi8WCNWvWIDc3FwDQ1dUFg8HgcnmIAh1HM9KYoFAoYDKZAACzZ8/G/v37ceHCBQDAvn37cM8996C3t9dj5xuYQb62thb79+8fcYb12bNnY+fOnbBYLOjr68PTTz+Nw4cP4/bbb8f27dvR19cHi8WCF154Aa+++qrHykkUKNgyozEhKysLb7zxBp566im8/vrr+N3vfodf/epXEAQBSqUSb775JsLDwz12vurqaixevBi9vb1Yu3YtMjIyBq2TNdRTTz2FDRs2YNGiRTCbzViwYAHy8vKQk5ODl19+Gffddx/MZjOmTJmCVatWeaycRIGCoxmJPGzOnDl47bXXMG3aNLGLQjRmsGVG5KKPP/4Yb7/9tt33CgsLfVwaIgLYMiMiogDAASBERCR5DDMiIpI8hhkREUkew4yIiCSPYUZERJLHMCMiIsn7/wHk9l+VuI9y0gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,12))\n",
    "sns.jointplot(x=sales[(sales['item_price']>5000) & (sales['date_block_num']<25) & (sales['date_block_num']>12)]['item_price'], y=sales[(sales['item_price']>5000) & (sales['date_block_num']<25) & (sales['date_block_num']>12)]['item_id'], kind='kde')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x24686923358>"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 864x864 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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0i+ZaXtm6enpPPnkkyxcuBC3281dd93FNddcE+yyRESCJspiwUP/rjiFG4thGBF55L5eZmxscfq5IhEJZ65214De58slN1++10JZRF1mFBER6aYwExER01OYiYiI6SnMRETE9BRmIiJiegozERExPYWZiIiYnsJMRERMT2EmIiKmpzATERHTU5iJiIjpKcxERMT0FGYiImJ6CjMRETE9hZmIiJiewkxERExPYSYiIqanMBMREdNTmImIiOkpzERExPSswS7ALFztrmCX0G82WxIOR3Owy+g31etfqte/zFZvuFLPTERETE9hJiIipqcwExER01OYiYiI6SnMRETE9BRmIiJiegozERExPYWZiIiYnsJMRERMT2EmIiKmpzATERHTi9i5GaOiLH7dPthUr3+pXv9SveIri2EYRrCLEBERuRS6zCgiIqanMBMREdNTmImIiOkpzERExPQUZiIiYnoKMxERMT2FmYiImJ7CTERETE9hJiIipqcwu4j333+fWbNmkZeXx8aNGwO+/wceeICCggLmzJnDnDlz2Ldv33lrKi0tpbCwkLy8PNatW9fTfujQIebNm0d+fj7PPPMMnZ2dAFRWVrJgwQJmzJjBI488Qmtr64BqbGlpYfbs2ZSXlw9qHU1NTTz00EPMnDmTBQsW4HA4AHC5XCxevJiZM2cyd+5cjh49ekn1Pv300+Tl5fWc423btgXkOPrjlVdeoaCggIKCAtasWRPy5/dc9Yby+X355ZeZNWsWBQUF/Od//mfIn1+5AEPO68svvzRuueUWo6GhwWhtbTUKCwuNw4cPB2z/Xq/X+M53vmO43e6L1tTe3m5MmzbNOHnypOF2u41FixYZH330kWEYhlFQUGD88Y9/NAzDMJ5++mlj48aNhmEYxkMPPWRs2bLFMAzDeOWVV4w1a9b4XONnn31mzJ4925g4caJx6tSpQa1j5cqVxi9+8QvDMAzjvffeM5544gnDMAzj3//9342f/vSnhmEYxieffGLcfffdA67XMAxj9uzZRnV1dZ/tAnEcF7Nz507jnnvuMZxOp+FyuYyFCxca77//fsie33PV++GHH4bs+d29e7dx7733Gm6322hvbzduueUW49ChQyF7fuXC1DO7gNLSUm644QZSU1NJSEggPz+fkpKSgO3/2LFjACxatIg77riDN99887w17d+/nzFjxpCd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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,12))\n",
    "sns.jointplot(x=sales[(sales['item_price']>5000) & (sales['date_block_num']<13)]['item_price'], y=sales[(sales['item_price']>5000) & (sales['date_block_num']<13)]['item_id'], kind='kde')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x24686a68a90>"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 864x864 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,12))\n",
    "sns.jointplot(x=sales[(sales['item_price']<1000) & (24<sales['date_block_num'])]['item_price'], y=sales[(sales['item_price']<1000) & (24<sales['date_block_num'])]['item_id'], kind='kde')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3. Feature Engineering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1 Get a feature matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create \"grid\" with columns\n",
    "index_cols = ['shop_id', 'item_id', 'date_block_num']\n",
    "\n",
    "# For every month we create a grid from all shops/items combinations from that month\n",
    "grid = [] \n",
    "for block_num in sales['date_block_num'].unique():\n",
    "    cur_shops = sales.loc[sales['date_block_num'] == block_num, 'shop_id'].unique()\n",
    "    cur_items = sales.loc[sales['date_block_num'] == block_num, 'item_id'].unique()\n",
    "    grid.append(np.array(list(product(*[cur_shops, cur_items, [block_num]])),dtype='int32'))\n",
    "\n",
    "# Turn the grid into a dataframe\n",
    "grid = pd.DataFrame(np.vstack(grid), columns = index_cols,dtype=np.int32)\n",
    "\n",
    "# Groupby data to get shop-item-month aggregates\n",
    "sales['item_cnt_day'] = sales['item_cnt_day'].clip(0,20)\n",
    "gb = sales.groupby(index_cols,as_index=False)['item_cnt_day'].agg('sum').rename(columns = {'item_cnt_day': 'item_cnt_month'})\n",
    "gb['item_cnt_month'] = gb['item_cnt_month'].clip(0,20).astype(np.int)\n",
    "# Join it to the grid\n",
    "all_data = pd.merge(grid, gb, how='left', on=index_cols).fillna(0)\n",
    "\n",
    "# Same as above but with shop-month aggregates\n",
    "gb = sales.groupby(['shop_id', 'date_block_num'],as_index=False)['item_cnt_day'].agg('sum').rename(columns = {'item_cnt_day': 'target_shop'})\n",
    "gb['target_shop'] = gb['target_shop'].clip(0,20).astype(np.int)\n",
    "# Join it to the grid\n",
    "all_data = pd.merge(all_data, gb, how='left', on=['shop_id', 'date_block_num']).fillna(0)\n",
    "\n",
    "# Same as above but with item-month aggregates\n",
    "gb = sales.groupby(['item_id', 'date_block_num'],as_index=False)['item_cnt_day'].agg('sum').rename(columns = {'item_cnt_day': 'target_item'})\n",
    "gb['target_item'] = gb['target_item'].clip(0,20).astype(np.int)\n",
    "# Join it to the grid\n",
    "all_data = pd.merge(all_data, gb, how='left', on=['item_id', 'date_block_num']).fillna(0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "def downcast_dtypes(df):\n",
    "    '''\n",
    "        Changes column types in the dataframe: \n",
    "                \n",
    "                `float64` type to `float32`\n",
    "                `int64`   type to `int32`\n",
    "    '''\n",
    "    \n",
    "    # Select columns to downcast\n",
    "    float_cols = [c for c in df if df[c].dtype == \"float64\"]\n",
    "    int_cols =   [c for c in df if df[c].dtype == \"int64\"]\n",
    "    \n",
    "    # Downcast\n",
    "    df[float_cols] = df[float_cols].astype(np.float32)\n",
    "    df[int_cols]   = df[int_cols].astype(np.int32)\n",
    "    \n",
    "    return df\n",
    "\n",
    "# Downcast dtypes from 64 to 32 bit to save memory\n",
    "all_data = downcast_dtypes(all_data)\n",
    "del grid, gb \n",
    "gc.collect();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>139255</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>141495</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144968</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>142661</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138947</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        shop_id  item_id  date_block_num  item_cnt_month  target_shop  \\\n",
       "139255        0       19               0             0.0           20   \n",
       "141495        0       27               0             0.0           20   \n",
       "144968        0       28               0             0.0           20   \n",
       "142661        0       29               0             0.0           20   \n",
       "138947        0       32               0             6.0           20   \n",
       "\n",
       "        target_item  \n",
       "139255            1  \n",
       "141495            7  \n",
       "144968            8  \n",
       "142661            5  \n",
       "138947           20  "
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.sort_values(['date_block_num','shop_id','item_id'],inplace=True)\n",
    "all_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3582120.0\n",
      "3261311.0\n"
     ]
    }
   ],
   "source": [
    "# Sanity check\n",
    "print(sales['item_cnt_day'].sum())\n",
    "print(all_data['item_cnt_month'].sum())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Add **item_category_id** to **sales** as a feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_data = all_data.merge(items[['item_id', 'item_category_id']], on = ['item_id'], how = 'left')\n",
    "test = test.merge(items[['item_id', 'item_category_id']], on = ['item_id'], how = 'left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  \n",
       "0                40  \n",
       "1                19  \n",
       "2                30  \n",
       "3                23  \n",
       "4                40  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(84, 2)"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_cats.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "l_cat = list(item_cats.item_category_name)\n",
    "\n",
    "for ind in range(0,1):\n",
    "    l_cat[ind] = 'PC Headsets / Headphones'\n",
    "for ind in range(1,8):\n",
    "    l_cat[ind] = 'Access'\n",
    "l_cat[8] = 'Tickets (figure)'\n",
    "l_cat[9] = 'Delivery of goods'\n",
    "for ind in range(10,18):\n",
    "    l_cat[ind] = 'Consoles'\n",
    "for ind in range(18,25):\n",
    "    l_cat[ind] = 'Consoles Games'\n",
    "l_cat[25] = 'Accessories for games'\n",
    "for ind in range(26,28):\n",
    "    l_cat[ind] = 'phone games'\n",
    "for ind in range(28,32):\n",
    "    l_cat[ind] = 'CD games'\n",
    "for ind in range(32,37):\n",
    "    l_cat[ind] = 'Card'\n",
    "for ind in range(37,43):\n",
    "    l_cat[ind] = 'Movie'\n",
    "for ind in range(43,55):\n",
    "    l_cat[ind] = 'Books'\n",
    "for ind in range(55,61):\n",
    "    l_cat[ind] = 'Music'\n",
    "for ind in range(61,73):\n",
    "    l_cat[ind] = 'Gifts'\n",
    "for ind in range(73,79):\n",
    "    l_cat[ind] = 'Soft'\n",
    "for ind in range(79,81):\n",
    "    l_cat[ind] = 'Office'\n",
    "for ind in range(81,83):\n",
    "    l_cat[ind] = 'Clean'\n",
    "l_cat[83] = 'Elements of a food'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  item_cat_id_fix  \n",
       "0                40               11  \n",
       "1                19                7  \n",
       "2                30                3  \n",
       "3                23                7  \n",
       "4                40               11  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn import preprocessing\n",
    "\n",
    "lb = preprocessing.LabelEncoder()\n",
    "item_cats['item_cat_id_fix'] = lb.fit_transform(l_cat)\n",
    "\n",
    "all_data = all_data.merge(item_cats[['item_cat_id_fix', 'item_category_id']], on = ['item_category_id'], how = 'left')\n",
    "test = test.merge(item_cats[['item_cat_id_fix', 'item_category_id']], on = ['item_category_id'], how = 'left')\n",
    "all_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "del items, item_cats\n",
    "gc.collect();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Lags features"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After creating a grid, we can calculate some features. We will use lags from [1, 2, 3, 4, 5, 6, 12] months ago."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 Mean encodings features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  item_cat_id_fix  \n",
       "0                40               11  \n",
       "1                19                7  \n",
       "2                30                3  \n",
       "3                23                7  \n",
       "4                40               11  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3.1 KFold scheme regularization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b4304b1a5dd141748e2f546e02bee7cd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=4), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\pandas\\core\\indexing.py:189: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "shop_id_enc_kf 0.16678032463858256\n",
      "item_id_enc_kf 0.3085999496012002\n",
      "item_category_id_enc_kf 0.2546791850204892\n",
      "item_cat_id_fix_enc_kf 0.15622490886173043\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import KFold\n",
    "\n",
    "mean_encoded_col = ['shop_id', 'item_id', 'item_category_id', 'item_cat_id_fix']\n",
    "global_mean =  all_data['item_cnt_month'].mean()\n",
    "\n",
    "for col in tqdm_notebook(mean_encoded_col):\n",
    "    kf = KFold(n_splits=5,shuffle=False, random_state = 0)\n",
    "    all_data[col+'_enc_kf'] = np.nan\n",
    "\n",
    "    for train_index , test_index in kf.split(all_data['item_cnt_month'].values):\n",
    "        x_tr, x_val = all_data.iloc[train_index], all_data.iloc[test_index]\n",
    "        means = x_val[col].map(x_tr.groupby(col).item_cnt_month.mean())\n",
    "        all_data[col+'_enc_kf'].iloc[test_index] = means\n",
    "    \n",
    "    # Fill NaNs\n",
    "    all_data[col+'_enc_kf'].fillna(global_mean, inplace=True) \n",
    "    corr = np.corrcoef(all_data['item_cnt_month'].values, all_data[col+'_enc_kf'])[0][1]\n",
    "    print(col+'_enc_kf',corr)\n",
    "    \n",
    "    # Drop if correlation < 0.3\n",
    "    if corr < 0.3:\n",
    "        all_data.drop(columns=[col+'_enc_kf'], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.298823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "      <td>0.048523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "      <td>0.142424</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>0.030303</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.895534</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  item_cat_id_fix  item_id_enc_kf  \n",
       "0                40               11        0.298823  \n",
       "1                19                7        0.048523  \n",
       "2                30                3        0.142424  \n",
       "3                23                7        0.030303  \n",
       "4                40               11        0.895534  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3.2 Leave-one-out scheme regularization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e7bcaa40f4e6453fb9c4dc8ed693d3ff",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=4), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "shop_id_enc_loo 0.16985659196565756\n",
      "item_id_enc_loo 0.47715635794493755\n",
      "item_category_id_enc_loo 0.2796668370136243\n",
      "item_cat_id_fix_enc_loo 0.1688444630525885\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for col in tqdm_notebook(mean_encoded_col):\n",
    "    all_data[col+'_enc_loo'] = np.nan\n",
    "\n",
    "    all_data[col+'_enc_loo'] = all_data.groupby(col)['item_cnt_month'].transform('sum') - all_data['item_cnt_month']\n",
    "    all_data[col+'_enc_loo'] /= (all_data.groupby(col)['item_cnt_month'].transform('count')-1)\n",
    "    \n",
    "    # Fill NaNs\n",
    "    all_data[col+'_enc_loo'].fillna(global_mean, inplace=True) \n",
    "    corr = np.corrcoef(all_data['item_cnt_month'].values, all_data[col+'_enc_loo'])[0][1]\n",
    "    print(col+'_enc_loo',corr)\n",
    "    \n",
    "    # Drop if correlation < 0.3\n",
    "    if corr < 0.3:\n",
    "        all_data.drop(columns=[col+'_enc_loo'], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.022727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "      <td>0.048523</td>\n",
       "      <td>0.056911</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "      <td>0.142424</td>\n",
       "      <td>0.143098</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>0.030303</td>\n",
       "      <td>0.040625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.895534</td>\n",
       "      <td>1.280126</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  item_cat_id_fix  item_id_enc_kf  item_id_enc_loo  \n",
       "0                40               11        0.298823         0.022727  \n",
       "1                19                7        0.048523         0.056911  \n",
       "2                30                3        0.142424         0.143098  \n",
       "3                23                7        0.030303         0.040625  \n",
       "4                40               11        0.895534         1.280126  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3.3 Smoothing regularization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ceaf9b02f59d4797963cdf9fbc9850dc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=4), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "shop_id_enc_smoo 0.1698879586553674\n",
      "item_id_enc_smoo 0.4756105272534116\n",
      "item_category_id_enc_smoo 0.279681794470908\n",
      "item_cat_id_fix_enc_smoo 0.16888345161745222\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for col in tqdm_notebook(mean_encoded_col):\n",
    "    all_data[col+'_enc_smoo'] = np.nan\n",
    "\n",
    "    alpha = 100\n",
    "    mean_target = all_data.groupby(col)['item_cnt_month'].transform('mean')\n",
    "    nrow = all_data.groupby(col)['item_cnt_month'].transform('count') \n",
    "    all_data[col+'_enc_smoo'] = (mean_target*nrow + 0.3343*alpha)/(nrow+alpha)\n",
    "    \n",
    "    # Fill NaNs\n",
    "    all_data[col+'_enc_smoo'].fillna(global_mean, inplace=True) \n",
    "    corr = np.corrcoef(all_data['item_cnt_month'].values, all_data[col+'_enc_smoo'])[0][1]\n",
    "    print(col+'_enc_smoo',corr)\n",
    "    \n",
    "    # Drop if correlation < 0.3\n",
    "    if corr < 0.3:\n",
    "        all_data.drop(columns=[col+'_enc_smoo'], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "      <th>item_id_enc_smoo</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.022727</td>\n",
       "      <td>0.237448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "      <td>0.048523</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "      <td>0.142424</td>\n",
       "      <td>0.143098</td>\n",
       "      <td>0.170403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>0.030303</td>\n",
       "      <td>0.040625</td>\n",
       "      <td>0.110285</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.895534</td>\n",
       "      <td>1.280126</td>\n",
       "      <td>1.226827</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  item_cat_id_fix  item_id_enc_kf  item_id_enc_loo  \\\n",
       "0                40               11        0.298823         0.022727   \n",
       "1                19                7        0.048523         0.056911   \n",
       "2                30                3        0.142424         0.143098   \n",
       "3                23                7        0.030303         0.040625   \n",
       "4                40               11        0.895534         1.280126   \n",
       "\n",
       "   item_id_enc_smoo  \n",
       "0          0.237448  \n",
       "1          0.089905  \n",
       "2          0.170403  \n",
       "3          0.110285  \n",
       "4          1.226827  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3.4 Expanding mean scheme regularization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ff9e676e07a74db4a8d82ba87e5fbe02",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=4), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "shop_id_enc_expan 0.16995369973305482\n",
      "item_id_enc_expan 0.5608105439029972\n",
      "item_category_id_enc_expan 0.2818846958022946\n",
      "item_cat_id_fix_enc_expan 0.17333392851905832\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for col in tqdm_notebook(mean_encoded_col):\n",
    "    all_data[col+'_enc_expan'] = np.nan\n",
    "\n",
    "    cumsum = all_data.groupby(col)['item_cnt_month'].cumsum()-all_data['item_cnt_month']\n",
    "    cumcnt = all_data.groupby(col)['item_cnt_month'].cumcount()\n",
    "    all_data[col+'_enc_expan'] = cumsum/cumcnt\n",
    "    \n",
    "    # Fill NaNs\n",
    "    all_data[col+'_enc_expan'].fillna(global_mean, inplace=True) \n",
    "    corr = np.corrcoef(all_data['item_cnt_month'].values, all_data[col+'_enc_expan'])[0][1]\n",
    "    print(col+'_enc_expan',corr)\n",
    "    \n",
    "    # Drop if correlation < 0.3\n",
    "    if corr < 0.3:\n",
    "        all_data.drop(columns=[col+'_enc_expan'], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "      <th>item_id_enc_smoo</th>\n",
       "      <th>item_id_enc_expan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.022727</td>\n",
       "      <td>0.237448</td>\n",
       "      <td>0.298823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "      <td>0.048523</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>0.298823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>8</td>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "      <td>0.142424</td>\n",
       "      <td>0.143098</td>\n",
       "      <td>0.170403</td>\n",
       "      <td>0.298823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>0.030303</td>\n",
       "      <td>0.040625</td>\n",
       "      <td>0.110285</td>\n",
       "      <td>0.298823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>40</td>\n",
       "      <td>11</td>\n",
       "      <td>0.895534</td>\n",
       "      <td>1.280126</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>0.298823</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  item_cnt_month  target_shop  target_item  \\\n",
       "0        0       19               0             0.0           20            1   \n",
       "1        0       27               0             0.0           20            7   \n",
       "2        0       28               0             0.0           20            8   \n",
       "3        0       29               0             0.0           20            5   \n",
       "4        0       32               0             6.0           20           20   \n",
       "\n",
       "   item_category_id  item_cat_id_fix  item_id_enc_kf  item_id_enc_loo  \\\n",
       "0                40               11        0.298823         0.022727   \n",
       "1                19                7        0.048523         0.056911   \n",
       "2                30                3        0.142424         0.143098   \n",
       "3                23                7        0.030303         0.040625   \n",
       "4                40               11        0.895534         1.280126   \n",
       "\n",
       "   item_id_enc_smoo  item_id_enc_expan  \n",
       "0          0.237448           0.298823  \n",
       "1          0.089905           0.298823  \n",
       "2          0.170403           0.298823  \n",
       "3          0.110285           0.298823  \n",
       "4          1.226827           0.298823  "
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 Lag-based features\n",
    "We generate both train and test lag-based features together."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:4: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version\n",
      "of pandas will change to not sort by default.\n",
      "\n",
      "To accept the future behavior, pass 'sort=False'.\n",
      "\n",
      "To retain the current behavior and silence the warning, pass 'sort=True'.\n",
      "\n",
      "  after removing the cwd from sys.path.\n"
     ]
    }
   ],
   "source": [
    "# Uncomment following when submitting\n",
    "if Validation == False:\n",
    "    test['date_block_num'] = 34\n",
    "    all_data = pd.concat([all_data, test], axis = 0)\n",
    "    all_data = all_data.drop(columns = ['ID'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_id_enc_expan</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "      <th>item_id_enc_smoo</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>target_item</th>\n",
       "      <th>target_shop</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "      <td>0.0</td>\n",
       "      <td>19</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.022727</td>\n",
       "      <td>0.237448</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>0.0</td>\n",
       "      <td>27</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.048523</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>30</td>\n",
       "      <td>0.0</td>\n",
       "      <td>28</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.142424</td>\n",
       "      <td>0.143098</td>\n",
       "      <td>0.170403</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>23</td>\n",
       "      <td>0.0</td>\n",
       "      <td>29</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.030303</td>\n",
       "      <td>0.040625</td>\n",
       "      <td>0.110285</td>\n",
       "      <td>0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "      <td>6.0</td>\n",
       "      <td>32</td>\n",
       "      <td>0.298823</td>\n",
       "      <td>0.895534</td>\n",
       "      <td>1.280126</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  item_cat_id_fix  item_category_id  item_cnt_month  item_id  \\\n",
       "0               0               11                40             0.0       19   \n",
       "1               0                7                19             0.0       27   \n",
       "2               0                3                30             0.0       28   \n",
       "3               0                7                23             0.0       29   \n",
       "4               0               11                40             6.0       32   \n",
       "\n",
       "   item_id_enc_expan  item_id_enc_kf  item_id_enc_loo  item_id_enc_smoo  \\\n",
       "0           0.298823        0.298823         0.022727          0.237448   \n",
       "1           0.298823        0.048523         0.056911          0.089905   \n",
       "2           0.298823        0.142424         0.143098          0.170403   \n",
       "3           0.298823        0.030303         0.040625          0.110285   \n",
       "4           0.298823        0.895534         1.280126          1.226827   \n",
       "\n",
       "   shop_id  target_item  target_shop  \n",
       "0        0          1.0         20.0  \n",
       "1        0          7.0         20.0  \n",
       "2        0          8.0         20.0  \n",
       "3        0          5.0         20.0  \n",
       "4        0         20.0         20.0  "
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d20293e69537429782788e3d4c22adc5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=5), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "index_cols = ['shop_id', 'item_id', 'item_category_id', 'item_cat_id_fix', 'date_block_num']\n",
    "cols_to_rename = list(all_data.columns.difference(index_cols))\n",
    "shift_range = [1, 2, 3, 4, 12]\n",
    "\n",
    "for month_shift in tqdm_notebook(shift_range):\n",
    "    train_shift = all_data[index_cols + cols_to_rename].copy()\n",
    "    \n",
    "    train_shift['date_block_num'] = train_shift['date_block_num'] + month_shift\n",
    "    \n",
    "    foo = lambda x: '{}_lag_{}'.format(x, month_shift) if x in cols_to_rename else x\n",
    "    train_shift = train_shift.rename(columns=foo)\n",
    "\n",
    "    all_data = pd.merge(all_data, train_shift, on=index_cols, how='left').fillna(0)\n",
    "\n",
    "del train_shift\n",
    "gc.collect();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_id_enc_expan</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "      <th>item_id_enc_smoo</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>target_item</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>item_cnt_month_lag_1</th>\n",
       "      <th>item_id_enc_expan_lag_1</th>\n",
       "      <th>item_id_enc_kf_lag_1</th>\n",
       "      <th>item_id_enc_loo_lag_1</th>\n",
       "      <th>item_id_enc_smoo_lag_1</th>\n",
       "      <th>target_item_lag_1</th>\n",
       "      <th>target_shop_lag_1</th>\n",
       "      <th>item_cnt_month_lag_2</th>\n",
       "      <th>item_id_enc_expan_lag_2</th>\n",
       "      <th>item_id_enc_kf_lag_2</th>\n",
       "      <th>item_id_enc_loo_lag_2</th>\n",
       "      <th>item_id_enc_smoo_lag_2</th>\n",
       "      <th>target_item_lag_2</th>\n",
       "      <th>target_shop_lag_2</th>\n",
       "      <th>item_cnt_month_lag_3</th>\n",
       "      <th>item_id_enc_expan_lag_3</th>\n",
       "      <th>item_id_enc_kf_lag_3</th>\n",
       "      <th>item_id_enc_loo_lag_3</th>\n",
       "      <th>item_id_enc_smoo_lag_3</th>\n",
       "      <th>target_item_lag_3</th>\n",
       "      <th>target_shop_lag_3</th>\n",
       "      <th>item_cnt_month_lag_4</th>\n",
       "      <th>item_id_enc_expan_lag_4</th>\n",
       "      <th>item_id_enc_kf_lag_4</th>\n",
       "      <th>item_id_enc_loo_lag_4</th>\n",
       "      <th>item_id_enc_smoo_lag_4</th>\n",
       "      <th>target_item_lag_4</th>\n",
       "      <th>target_shop_lag_4</th>\n",
       "      <th>item_cnt_month_lag_12</th>\n",
       "      <th>item_id_enc_expan_lag_12</th>\n",
       "      <th>item_id_enc_kf_lag_12</th>\n",
       "      <th>item_id_enc_loo_lag_12</th>\n",
       "      <th>item_id_enc_smoo_lag_12</th>\n",
       "      <th>target_item_lag_12</th>\n",
       "      <th>target_shop_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4488756</th>\n",
       "      <td>12</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>0.0</td>\n",
       "      <td>27</td>\n",
       "      <td>0.065814</td>\n",
       "      <td>0.067542</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>2</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.063872</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>4.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.065789</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>2.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.058537</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.063014</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.048523</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>7.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4488757</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "      <td>0.0</td>\n",
       "      <td>30</td>\n",
       "      <td>2.735060</td>\n",
       "      <td>1.220146</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>2</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.907895</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.114355</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.441096</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.884375</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>13.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4488758</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>37</td>\n",
       "      <td>0.0</td>\n",
       "      <td>31</td>\n",
       "      <td>1.958167</td>\n",
       "      <td>0.995126</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>2</td>\n",
       "      <td>16.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.100877</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.265207</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.482192</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.771875</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>19.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4488759</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "      <td>1.0</td>\n",
       "      <td>32</td>\n",
       "      <td>2.404022</td>\n",
       "      <td>1.370690</td>\n",
       "      <td>1.283281</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>2</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.445110</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.508772</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.648780</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.813699</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.5</td>\n",
       "      <td>0.895534</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4488760</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>37</td>\n",
       "      <td>1.0</td>\n",
       "      <td>33</td>\n",
       "      <td>0.767824</td>\n",
       "      <td>0.525862</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>2</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.754491</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.796053</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.528707</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>15.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.804878</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.529968</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.786301</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.529968</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.487509</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date_block_num  item_cat_id_fix  item_category_id  item_cnt_month  \\\n",
       "4488756              12                7                19             0.0   \n",
       "4488757              12               11                40             0.0   \n",
       "4488758              12               11                37             0.0   \n",
       "4488759              12               11                40             1.0   \n",
       "4488760              12               11                37             1.0   \n",
       "\n",
       "         item_id  item_id_enc_expan  item_id_enc_kf  item_id_enc_loo  \\\n",
       "4488756       27           0.065814        0.067542         0.056911   \n",
       "4488757       30           2.735060        1.220146         1.087013   \n",
       "4488758       31           1.958167        0.995126         0.861688   \n",
       "4488759       32           2.404022        1.370690         1.283281   \n",
       "4488760       33           0.767824        0.525862         0.529338   \n",
       "\n",
       "         item_id_enc_smoo  shop_id  target_item  target_shop  \\\n",
       "4488756          0.089905        2          1.0         20.0   \n",
       "4488757          1.040481        2         20.0         20.0   \n",
       "4488758          0.829025        2         16.0         20.0   \n",
       "4488759          1.226827        2         20.0         20.0   \n",
       "4488760          0.518049        2         20.0         20.0   \n",
       "\n",
       "         item_cnt_month_lag_1  item_id_enc_expan_lag_1  item_id_enc_kf_lag_1  \\\n",
       "4488756                   0.0                 0.063872              0.053079   \n",
       "4488757                   0.0                 2.907895              1.170463   \n",
       "4488758                   0.0                 2.100877              0.937942   \n",
       "4488759                   0.0                 2.445110              1.211684   \n",
       "4488760                   1.0                 0.754491              0.474203   \n",
       "\n",
       "         item_id_enc_loo_lag_1  item_id_enc_smoo_lag_1  target_item_lag_1  \\\n",
       "4488756               0.056911                0.089905                4.0   \n",
       "4488757               1.087013                1.040481               20.0   \n",
       "4488758               0.861688                0.829025               20.0   \n",
       "4488759               1.283912                1.226827               20.0   \n",
       "4488760               0.529338                0.518049               20.0   \n",
       "\n",
       "         target_shop_lag_1  item_cnt_month_lag_2  item_id_enc_expan_lag_2  \\\n",
       "4488756               20.0                   0.0                 0.065789   \n",
       "4488757               20.0                   0.0                 3.114355   \n",
       "4488758               20.0                   0.0                 2.265207   \n",
       "4488759               20.0                   0.0                 2.508772   \n",
       "4488760               20.0                   2.0                 0.796053   \n",
       "\n",
       "         item_id_enc_kf_lag_2  item_id_enc_loo_lag_2  item_id_enc_smoo_lag_2  \\\n",
       "4488756              0.053079               0.056911                0.089905   \n",
       "4488757              1.170463               1.087013                1.040481   \n",
       "4488758              0.937942               0.861688                0.829025   \n",
       "4488759              1.211684               1.283912                1.226827   \n",
       "4488760              0.474203               0.528707                0.518049   \n",
       "\n",
       "         target_item_lag_2  target_shop_lag_2  item_cnt_month_lag_3  \\\n",
       "4488756                2.0               20.0                   0.0   \n",
       "4488757               20.0               20.0                   0.0   \n",
       "4488758               20.0               20.0                   0.0   \n",
       "4488759               20.0               20.0                   0.0   \n",
       "4488760               15.0               20.0                   0.0   \n",
       "\n",
       "         item_id_enc_expan_lag_3  item_id_enc_kf_lag_3  item_id_enc_loo_lag_3  \\\n",
       "4488756                 0.058537              0.053079               0.056911   \n",
       "4488757                 3.441096              1.170463               1.087013   \n",
       "4488758                 2.482192              0.937942               0.861688   \n",
       "4488759                 2.648780              1.211684               1.283912   \n",
       "4488760                 0.804878              0.474203               0.529968   \n",
       "\n",
       "         item_id_enc_smoo_lag_3  target_item_lag_3  target_shop_lag_3  \\\n",
       "4488756                0.089905                6.0               20.0   \n",
       "4488757                1.040481               20.0               20.0   \n",
       "4488758                0.829025               20.0               20.0   \n",
       "4488759                1.226827               20.0               20.0   \n",
       "4488760                0.518049               20.0               20.0   \n",
       "\n",
       "         item_cnt_month_lag_4  item_id_enc_expan_lag_4  item_id_enc_kf_lag_4  \\\n",
       "4488756                   0.0                 0.063014              0.053079   \n",
       "4488757                   0.0                 3.884375              1.170463   \n",
       "4488758                   0.0                 2.771875              0.937942   \n",
       "4488759                   0.0                 2.813699              1.211684   \n",
       "4488760                   0.0                 0.786301              0.474203   \n",
       "\n",
       "         item_id_enc_loo_lag_4  item_id_enc_smoo_lag_4  target_item_lag_4  \\\n",
       "4488756               0.056911                0.089905                1.0   \n",
       "4488757               1.087013                1.040481               13.0   \n",
       "4488758               0.861688                0.829025               19.0   \n",
       "4488759               1.283912                1.226827               20.0   \n",
       "4488760               0.529968                0.518049               20.0   \n",
       "\n",
       "         target_shop_lag_4  item_cnt_month_lag_12  item_id_enc_expan_lag_12  \\\n",
       "4488756               20.0                    1.0                       0.5   \n",
       "4488757               20.0                    0.0                       0.0   \n",
       "4488758               20.0                    0.0                       0.0   \n",
       "4488759               20.0                    0.0                       6.5   \n",
       "4488760               20.0                    1.0                       1.5   \n",
       "\n",
       "         item_id_enc_kf_lag_12  item_id_enc_loo_lag_12  \\\n",
       "4488756               0.048523                0.055556   \n",
       "4488757               0.000000                0.000000   \n",
       "4488758               0.000000                0.000000   \n",
       "4488759               0.895534                1.283912   \n",
       "4488760               0.487509                0.529338   \n",
       "\n",
       "         item_id_enc_smoo_lag_12  target_item_lag_12  target_shop_lag_12  \n",
       "4488756                 0.089905                 7.0                20.0  \n",
       "4488757                 0.000000                 0.0                 0.0  \n",
       "4488758                 0.000000                 0.0                 0.0  \n",
       "4488759                 1.226827                20.0                20.0  \n",
       "4488760                 0.518049                20.0                20.0  "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Don't use old data from year 2013\n",
    "all_data = all_data[all_data['date_block_num'] >= 12] \n",
    "all_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "lag_cols = [col for col in all_data.columns if col[-1] in [str(item) for item in shift_range]]\n",
    "all_data = downcast_dtypes(all_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.4 Date features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2013-01-02</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2013-01-03</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2013-01-05</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2013-01-06</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2013-01-15</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date  date_block_num  shop_id  item_id  item_price  item_cnt_day  \\\n",
       "0 2013-01-02               0       59    22154      999.00           1.0   \n",
       "1 2013-01-03               0       25     2552      899.00           1.0   \n",
       "2 2013-01-05               0       25     2552      899.00           0.0   \n",
       "3 2013-01-06               0       25     2554     1709.05           1.0   \n",
       "4 2013-01-15               0       25     2555     1099.00           1.0   \n",
       "\n",
       "   item_category_id  \n",
       "0                43  \n",
       "1                40  \n",
       "2                40  \n",
       "3                37  \n",
       "4                30  "
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  import sys\n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:8: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>dow_0</th>\n",
       "      <th>dow_1</th>\n",
       "      <th>dow_2</th>\n",
       "      <th>dow_3</th>\n",
       "      <th>dow_4</th>\n",
       "      <th>dow_5</th>\n",
       "      <th>dow_6</th>\n",
       "      <th>days_of_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   year  month  date_block_num  dow_0  dow_1  dow_2  dow_3  dow_4  dow_5  \\\n",
       "0     0      1               0      4      5      5      5      4      4   \n",
       "1     0      2               1      4      4      4      4      4      4   \n",
       "2     0      3               2      4      4      4      4      5      5   \n",
       "3     0      4               3      5      5      4      4      4      4   \n",
       "4     0      5               4      4      4      5      5      5      4   \n",
       "\n",
       "   dow_6  days_of_month  \n",
       "0      4             31  \n",
       "1      4             28  \n",
       "2      5             31  \n",
       "3      4             30  \n",
       "4      4             31  "
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get dates from sales dataframe\n",
    "sales['date'] = pd.to_datetime(sales['date'], format='%d.%m.%Y')\n",
    "dates_train = sales[['date', 'date_block_num']].drop_duplicates()\n",
    "\n",
    "# From last year corresponding month to generate test month dates\n",
    "dates_test = dates_train[dates_train['date_block_num'] == (34-12)]\n",
    "dates_test['date_block_num'] = 34\n",
    "dates_test['date'] = dates_test['date'] + pd.DateOffset(years=1)\n",
    "dates_all = pd.concat([dates_train, dates_test])\n",
    "\n",
    "# Generate date features\n",
    "dates_all['dow'] = dates_all['date'].dt.dayofweek\n",
    "dates_all['year'] = dates_all['date'].dt.year\n",
    "dates_all['month'] = dates_all['date'].dt.month\n",
    "\n",
    "# Convert categorical variable into dummy/indicator variables\n",
    "dates_all = pd.get_dummies(dates_all, columns=['dow']) \n",
    "dow_col = ['dow_' + str(x) for x in range(7)]\n",
    "date_features = dates_all.groupby(['year', 'month', 'date_block_num'])[dow_col].agg('sum').reset_index()\n",
    "date_features['days_of_month'] = date_features[dow_col].sum(axis=1)\n",
    "date_features['year'] = date_features['year'] - 2013\n",
    "\n",
    "date_features.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Generate date features\n",
    "dates_all['dow'] = dates_all['date'].dt.dayofweek\n",
    "dates_all['year'] = dates_all['date'].dt.year\n",
    "dates_all['month'] = dates_all['date'].dt.month"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'Columns not found: '",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-56-5abdad7c3be9>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[0mdates_all\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_dummies\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdates_all\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolumns\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'dow'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[0mdow_col\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'dow_'\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mdate_features\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdates_all\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'year'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'month'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'date_block_num'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdow_col\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0magg\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'sum'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreset_index\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      5\u001b[0m \u001b[0mdate_features\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'days_of_month'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdate_features\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdow_col\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      6\u001b[0m \u001b[0mdate_features\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'year'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdate_features\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'year'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;36m2013\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\pandas\\core\\base.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m    255\u001b[0m                 \u001b[0mbad_keys\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdifference\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    256\u001b[0m                 raise KeyError(\"Columns not found: {missing}\"\n\u001b[1;32m--> 257\u001b[1;33m                                .format(missing=str(bad_keys)[1:-1]))\n\u001b[0m\u001b[0;32m    258\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_gotitem\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mndim\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    259\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: 'Columns not found: '"
     ]
    }
   ],
   "source": [
    "# Convert categorical variable into dummy/indicator variables\n",
    "dates_all = pd.get_dummies(dates_all, columns=['dow']) \n",
    "dow_col = ['dow_' + str(x) for x in range(7)]\n",
    "date_features = dates_all.groupby(['year', 'month', 'date_block_num'])[dow_col].agg('sum').reset_index()\n",
    "date_features['days_of_month'] = date_features[dow_col].sum(axis=1)\n",
    "date_features['year'] = date_features['year'] - 2013"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "date_features.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  import sys\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_id_enc_expan</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "      <th>item_id_enc_smoo</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>target_item</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>item_cnt_month_lag_1</th>\n",
       "      <th>item_id_enc_expan_lag_1</th>\n",
       "      <th>item_id_enc_kf_lag_1</th>\n",
       "      <th>item_id_enc_loo_lag_1</th>\n",
       "      <th>item_id_enc_smoo_lag_1</th>\n",
       "      <th>target_item_lag_1</th>\n",
       "      <th>target_shop_lag_1</th>\n",
       "      <th>item_cnt_month_lag_2</th>\n",
       "      <th>item_id_enc_expan_lag_2</th>\n",
       "      <th>item_id_enc_kf_lag_2</th>\n",
       "      <th>item_id_enc_loo_lag_2</th>\n",
       "      <th>item_id_enc_smoo_lag_2</th>\n",
       "      <th>target_item_lag_2</th>\n",
       "      <th>target_shop_lag_2</th>\n",
       "      <th>item_cnt_month_lag_3</th>\n",
       "      <th>item_id_enc_expan_lag_3</th>\n",
       "      <th>item_id_enc_kf_lag_3</th>\n",
       "      <th>item_id_enc_loo_lag_3</th>\n",
       "      <th>item_id_enc_smoo_lag_3</th>\n",
       "      <th>target_item_lag_3</th>\n",
       "      <th>target_shop_lag_3</th>\n",
       "      <th>item_cnt_month_lag_4</th>\n",
       "      <th>item_id_enc_expan_lag_4</th>\n",
       "      <th>item_id_enc_kf_lag_4</th>\n",
       "      <th>item_id_enc_loo_lag_4</th>\n",
       "      <th>item_id_enc_smoo_lag_4</th>\n",
       "      <th>target_item_lag_4</th>\n",
       "      <th>target_shop_lag_4</th>\n",
       "      <th>item_cnt_month_lag_12</th>\n",
       "      <th>item_id_enc_expan_lag_12</th>\n",
       "      <th>item_id_enc_kf_lag_12</th>\n",
       "      <th>item_id_enc_loo_lag_12</th>\n",
       "      <th>item_id_enc_smoo_lag_12</th>\n",
       "      <th>target_item_lag_12</th>\n",
       "      <th>target_shop_lag_12</th>\n",
       "      <th>month</th>\n",
       "      <th>year</th>\n",
       "      <th>days_of_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>12</td>\n",
       "      <td>7</td>\n",
       "      <td>19</td>\n",
       "      <td>0.0</td>\n",
       "      <td>27</td>\n",
       "      <td>0.065814</td>\n",
       "      <td>0.067542</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>2</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.063872</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>4.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.065789</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>2.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.058537</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.063014</td>\n",
       "      <td>0.053079</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.048523</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>7.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "      <td>0.0</td>\n",
       "      <td>30</td>\n",
       "      <td>2.735060</td>\n",
       "      <td>1.220146</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>2</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.907895</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.114355</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.441096</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.884375</td>\n",
       "      <td>1.170463</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>13.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>37</td>\n",
       "      <td>0.0</td>\n",
       "      <td>31</td>\n",
       "      <td>1.958167</td>\n",
       "      <td>0.995126</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>2</td>\n",
       "      <td>16.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.100877</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.265207</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.482192</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.771875</td>\n",
       "      <td>0.937942</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>19.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "      <td>1.0</td>\n",
       "      <td>32</td>\n",
       "      <td>2.404022</td>\n",
       "      <td>1.370690</td>\n",
       "      <td>1.283281</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>2</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.445110</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.508772</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.648781</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.813699</td>\n",
       "      <td>1.211684</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.5</td>\n",
       "      <td>0.895534</td>\n",
       "      <td>1.283912</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12</td>\n",
       "      <td>11</td>\n",
       "      <td>37</td>\n",
       "      <td>1.0</td>\n",
       "      <td>33</td>\n",
       "      <td>0.767824</td>\n",
       "      <td>0.525862</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>2</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.754491</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.796053</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.528707</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>15.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.804878</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.529968</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.786301</td>\n",
       "      <td>0.474203</td>\n",
       "      <td>0.529968</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.487509</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  item_cat_id_fix  item_category_id  item_cnt_month  item_id  \\\n",
       "0              12                7                19             0.0       27   \n",
       "1              12               11                40             0.0       30   \n",
       "2              12               11                37             0.0       31   \n",
       "3              12               11                40             1.0       32   \n",
       "4              12               11                37             1.0       33   \n",
       "\n",
       "   item_id_enc_expan  item_id_enc_kf  item_id_enc_loo  item_id_enc_smoo  \\\n",
       "0           0.065814        0.067542         0.056911          0.089905   \n",
       "1           2.735060        1.220146         1.087013          1.040481   \n",
       "2           1.958167        0.995126         0.861688          0.829025   \n",
       "3           2.404022        1.370690         1.283281          1.226827   \n",
       "4           0.767824        0.525862         0.529338          0.518049   \n",
       "\n",
       "   shop_id  target_item  target_shop  item_cnt_month_lag_1  \\\n",
       "0        2          1.0         20.0                   0.0   \n",
       "1        2         20.0         20.0                   0.0   \n",
       "2        2         16.0         20.0                   0.0   \n",
       "3        2         20.0         20.0                   0.0   \n",
       "4        2         20.0         20.0                   1.0   \n",
       "\n",
       "   item_id_enc_expan_lag_1  item_id_enc_kf_lag_1  item_id_enc_loo_lag_1  \\\n",
       "0                 0.063872              0.053079               0.056911   \n",
       "1                 2.907895              1.170463               1.087013   \n",
       "2                 2.100877              0.937942               0.861688   \n",
       "3                 2.445110              1.211684               1.283912   \n",
       "4                 0.754491              0.474203               0.529338   \n",
       "\n",
       "   item_id_enc_smoo_lag_1  target_item_lag_1  target_shop_lag_1  \\\n",
       "0                0.089905                4.0               20.0   \n",
       "1                1.040481               20.0               20.0   \n",
       "2                0.829025               20.0               20.0   \n",
       "3                1.226827               20.0               20.0   \n",
       "4                0.518049               20.0               20.0   \n",
       "\n",
       "   item_cnt_month_lag_2  item_id_enc_expan_lag_2  item_id_enc_kf_lag_2  \\\n",
       "0                   0.0                 0.065789              0.053079   \n",
       "1                   0.0                 3.114355              1.170463   \n",
       "2                   0.0                 2.265207              0.937942   \n",
       "3                   0.0                 2.508772              1.211684   \n",
       "4                   2.0                 0.796053              0.474203   \n",
       "\n",
       "   item_id_enc_loo_lag_2  item_id_enc_smoo_lag_2  target_item_lag_2  \\\n",
       "0               0.056911                0.089905                2.0   \n",
       "1               1.087013                1.040481               20.0   \n",
       "2               0.861688                0.829025               20.0   \n",
       "3               1.283912                1.226827               20.0   \n",
       "4               0.528707                0.518049               15.0   \n",
       "\n",
       "   target_shop_lag_2  item_cnt_month_lag_3  item_id_enc_expan_lag_3  \\\n",
       "0               20.0                   0.0                 0.058537   \n",
       "1               20.0                   0.0                 3.441096   \n",
       "2               20.0                   0.0                 2.482192   \n",
       "3               20.0                   0.0                 2.648781   \n",
       "4               20.0                   0.0                 0.804878   \n",
       "\n",
       "   item_id_enc_kf_lag_3  item_id_enc_loo_lag_3  item_id_enc_smoo_lag_3  \\\n",
       "0              0.053079               0.056911                0.089905   \n",
       "1              1.170463               1.087013                1.040481   \n",
       "2              0.937942               0.861688                0.829025   \n",
       "3              1.211684               1.283912                1.226827   \n",
       "4              0.474203               0.529968                0.518049   \n",
       "\n",
       "   target_item_lag_3  target_shop_lag_3  item_cnt_month_lag_4  \\\n",
       "0                6.0               20.0                   0.0   \n",
       "1               20.0               20.0                   0.0   \n",
       "2               20.0               20.0                   0.0   \n",
       "3               20.0               20.0                   0.0   \n",
       "4               20.0               20.0                   0.0   \n",
       "\n",
       "   item_id_enc_expan_lag_4  item_id_enc_kf_lag_4  item_id_enc_loo_lag_4  \\\n",
       "0                 0.063014              0.053079               0.056911   \n",
       "1                 3.884375              1.170463               1.087013   \n",
       "2                 2.771875              0.937942               0.861688   \n",
       "3                 2.813699              1.211684               1.283912   \n",
       "4                 0.786301              0.474203               0.529968   \n",
       "\n",
       "   item_id_enc_smoo_lag_4  target_item_lag_4  target_shop_lag_4  \\\n",
       "0                0.089905                1.0               20.0   \n",
       "1                1.040481               13.0               20.0   \n",
       "2                0.829025               19.0               20.0   \n",
       "3                1.226827               20.0               20.0   \n",
       "4                0.518049               20.0               20.0   \n",
       "\n",
       "   item_cnt_month_lag_12  item_id_enc_expan_lag_12  item_id_enc_kf_lag_12  \\\n",
       "0                    1.0                       0.5               0.048523   \n",
       "1                    0.0                       0.0               0.000000   \n",
       "2                    0.0                       0.0               0.000000   \n",
       "3                    0.0                       6.5               0.895534   \n",
       "4                    1.0                       1.5               0.487509   \n",
       "\n",
       "   item_id_enc_loo_lag_12  item_id_enc_smoo_lag_12  target_item_lag_12  \\\n",
       "0                0.055556                 0.089905                 7.0   \n",
       "1                0.000000                 0.000000                 0.0   \n",
       "2                0.000000                 0.000000                 0.0   \n",
       "3                1.283912                 1.226827                20.0   \n",
       "4                0.529338                 0.518049                20.0   \n",
       "\n",
       "   target_shop_lag_12  month  year  days_of_month  \n",
       "0                20.0      1     1             31  \n",
       "1                 0.0      1     1             31  \n",
       "2                 0.0      1     1             31  \n",
       "3                20.0      1     1             31  \n",
       "4                20.0      1     1             31  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get dates from *sales dataframe*\n",
    "sales = pd.read_csv('sales_train.csv.gz')\n",
    "sales['date'] = pd.to_datetime(sales['date'], format='%d.%m.%Y')\n",
    "dates_train = sales[['date', 'date_block_num']].drop_duplicates()\n",
    "dates_test = dates_train[dates_train['date_block_num'] == 34-12]\n",
    "dates_test['date_block_num'] = 34\n",
    "dates_test['date'] = dates_test['date'] + pd.DateOffset(years=1)\n",
    "dates_all = pd.concat([dates_train, dates_test])\n",
    "\n",
    "\n",
    "# Generate date features\n",
    "dates_all['dow'] = dates_all['date'].dt.dayofweek\n",
    "dates_all['year'] = dates_all['date'].dt.year\n",
    "dates_all['month'] = dates_all['date'].dt.month\n",
    "\n",
    "# Convert categorical variable into dummy/indicator variables\n",
    "dates_all = pd.get_dummies(dates_all, columns=['dow']) \n",
    "dow_col = ['dow_' + str(x) for x in range(7)]\n",
    "date_features = dates_all.groupby(['year', 'month', 'date_block_num'])[dow_col].agg('sum').reset_index()\n",
    "date_features['days_of_month'] = date_features[dow_col].sum(axis=1)\n",
    "date_features['year'] = date_features['year'] - 2013\n",
    "\n",
    "# Merge date_features to all_data\n",
    "date_features = date_features[['month', 'year', 'days_of_month', 'date_block_num']]\n",
    "all_data = all_data.merge(date_features, on = 'date_block_num', how = 'left')\n",
    "date_columns = date_features.columns.difference(set(index_cols))\n",
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.5 Scale feature columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:13: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  del sys.path[0]\n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\pandas\\core\\indexing.py:543: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self.obj[item] = s\n",
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\ipykernel_launcher.py:14: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# Initialize StandardScaler and split data to assure the same distribution\n",
    "sc = StandardScaler()\n",
    "train = all_data[all_data['date_block_num']!= all_data['date_block_num'].max()]\n",
    "test = all_data[all_data['date_block_num']== all_data['date_block_num'].max()]\n",
    "\n",
    "# Select columns to be standardized\n",
    "to_drop_cols = ['date_block_num']\n",
    "feature_columns = list(set(lag_cols + index_cols + list(date_columns)).difference(to_drop_cols))\n",
    "\n",
    "# fit_transform\n",
    "train[feature_columns] = sc.fit_transform(train[feature_columns])\n",
    "test[feature_columns] = sc.transform(test[feature_columns])\n",
    "all_data = pd.concat([train, test], axis = 0)\n",
    "\n",
    "# Downcast for standardized data\n",
    "all_data = downcast_dtypes(all_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>item_cat_id_fix</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_id_enc_expan</th>\n",
       "      <th>item_id_enc_kf</th>\n",
       "      <th>item_id_enc_loo</th>\n",
       "      <th>item_id_enc_smoo</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>target_item</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>item_cnt_month_lag_1</th>\n",
       "      <th>item_id_enc_expan_lag_1</th>\n",
       "      <th>item_id_enc_kf_lag_1</th>\n",
       "      <th>item_id_enc_loo_lag_1</th>\n",
       "      <th>item_id_enc_smoo_lag_1</th>\n",
       "      <th>target_item_lag_1</th>\n",
       "      <th>target_shop_lag_1</th>\n",
       "      <th>item_cnt_month_lag_2</th>\n",
       "      <th>item_id_enc_expan_lag_2</th>\n",
       "      <th>item_id_enc_kf_lag_2</th>\n",
       "      <th>item_id_enc_loo_lag_2</th>\n",
       "      <th>item_id_enc_smoo_lag_2</th>\n",
       "      <th>target_item_lag_2</th>\n",
       "      <th>target_shop_lag_2</th>\n",
       "      <th>item_cnt_month_lag_3</th>\n",
       "      <th>item_id_enc_expan_lag_3</th>\n",
       "      <th>item_id_enc_kf_lag_3</th>\n",
       "      <th>item_id_enc_loo_lag_3</th>\n",
       "      <th>item_id_enc_smoo_lag_3</th>\n",
       "      <th>target_item_lag_3</th>\n",
       "      <th>target_shop_lag_3</th>\n",
       "      <th>item_cnt_month_lag_4</th>\n",
       "      <th>item_id_enc_expan_lag_4</th>\n",
       "      <th>item_id_enc_kf_lag_4</th>\n",
       "      <th>item_id_enc_loo_lag_4</th>\n",
       "      <th>item_id_enc_smoo_lag_4</th>\n",
       "      <th>target_item_lag_4</th>\n",
       "      <th>target_shop_lag_4</th>\n",
       "      <th>item_cnt_month_lag_12</th>\n",
       "      <th>item_id_enc_expan_lag_12</th>\n",
       "      <th>item_id_enc_kf_lag_12</th>\n",
       "      <th>item_id_enc_loo_lag_12</th>\n",
       "      <th>item_id_enc_smoo_lag_12</th>\n",
       "      <th>target_item_lag_12</th>\n",
       "      <th>target_shop_lag_12</th>\n",
       "      <th>month</th>\n",
       "      <th>year</th>\n",
       "      <th>days_of_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>12</td>\n",
       "      <td>-0.651193</td>\n",
       "      <td>-1.650131</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1.792746</td>\n",
       "      <td>0.065814</td>\n",
       "      <td>0.067542</td>\n",
       "      <td>0.056911</td>\n",
       "      <td>0.089905</td>\n",
       "      <td>-1.731624</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>-0.240176</td>\n",
       "      <td>-0.379625</td>\n",
       "      <td>-0.384630</td>\n",
       "      <td>-0.407448</td>\n",
       "      <td>-0.387300</td>\n",
       "      <td>-0.389888</td>\n",
       "      <td>0.519609</td>\n",
       "      <td>-0.238877</td>\n",
       "      <td>-0.365656</td>\n",
       "      <td>-0.369931</td>\n",
       "      <td>-0.393283</td>\n",
       "      <td>-0.368474</td>\n",
       "      <td>-0.651761</td>\n",
       "      <td>0.564722</td>\n",
       "      <td>-0.236147</td>\n",
       "      <td>-0.359584</td>\n",
       "      <td>-0.354812</td>\n",
       "      <td>-0.377180</td>\n",
       "      <td>-0.348770</td>\n",
       "      <td>-0.081363</td>\n",
       "      <td>0.61163</td>\n",
       "      <td>-0.233201</td>\n",
       "      <td>-0.342261</td>\n",
       "      <td>-0.339195</td>\n",
       "      <td>-0.360041</td>\n",
       "      <td>-0.328562</td>\n",
       "      <td>-0.744354</td>\n",
       "      <td>0.657764</td>\n",
       "      <td>0.647994</td>\n",
       "      <td>0.198983</td>\n",
       "      <td>-0.221020</td>\n",
       "      <td>-0.229000</td>\n",
       "      <td>-0.171674</td>\n",
       "      <td>0.309241</td>\n",
       "      <td>1.062901</td>\n",
       "      <td>-1.49091</td>\n",
       "      <td>-0.794314</td>\n",
       "      <td>0.658798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12</td>\n",
       "      <td>0.471781</td>\n",
       "      <td>-0.312874</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1.792268</td>\n",
       "      <td>2.735060</td>\n",
       "      <td>1.220146</td>\n",
       "      <td>1.087013</td>\n",
       "      <td>1.040481</td>\n",
       "      <td>-1.731624</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>-0.240176</td>\n",
       "      <td>2.277774</td>\n",
       "      <td>1.080945</td>\n",
       "      <td>1.201142</td>\n",
       "      <td>1.264990</td>\n",
       "      <td>1.835759</td>\n",
       "      <td>0.519609</td>\n",
       "      <td>-0.238877</td>\n",
       "      <td>2.448241</td>\n",
       "      <td>1.148756</td>\n",
       "      <td>1.250390</td>\n",
       "      <td>1.304415</td>\n",
       "      <td>1.832462</td>\n",
       "      <td>0.564722</td>\n",
       "      <td>-0.236147</td>\n",
       "      <td>2.740088</td>\n",
       "      <td>1.229160</td>\n",
       "      <td>1.300992</td>\n",
       "      <td>1.349771</td>\n",
       "      <td>1.840306</td>\n",
       "      <td>0.61163</td>\n",
       "      <td>-0.233201</td>\n",
       "      <td>3.144455</td>\n",
       "      <td>1.312202</td>\n",
       "      <td>1.350993</td>\n",
       "      <td>1.395561</td>\n",
       "      <td>0.895397</td>\n",
       "      <td>0.657764</td>\n",
       "      <td>-0.204651</td>\n",
       "      <td>-0.307826</td>\n",
       "      <td>-0.325317</td>\n",
       "      <td>-0.341868</td>\n",
       "      <td>-0.366677</td>\n",
       "      <td>-0.680157</td>\n",
       "      <td>-0.940966</td>\n",
       "      <td>-1.49091</td>\n",
       "      <td>-0.794314</td>\n",
       "      <td>0.658798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12</td>\n",
       "      <td>0.471781</td>\n",
       "      <td>-0.503911</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1.792108</td>\n",
       "      <td>1.958167</td>\n",
       "      <td>0.995126</td>\n",
       "      <td>0.861688</td>\n",
       "      <td>0.829025</td>\n",
       "      <td>-1.731624</td>\n",
       "      <td>16.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>-0.240176</td>\n",
       "      <td>1.523713</td>\n",
       "      <td>0.775967</td>\n",
       "      <td>0.849279</td>\n",
       "      <td>0.897437</td>\n",
       "      <td>1.835759</td>\n",
       "      <td>0.519609</td>\n",
       "      <td>-0.238877</td>\n",
       "      <td>1.664457</td>\n",
       "      <td>0.832725</td>\n",
       "      <td>0.890853</td>\n",
       "      <td>0.932280</td>\n",
       "      <td>1.832462</td>\n",
       "      <td>0.564722</td>\n",
       "      <td>-0.236147</td>\n",
       "      <td>1.861378</td>\n",
       "      <td>0.899544</td>\n",
       "      <td>0.933909</td>\n",
       "      <td>0.971929</td>\n",
       "      <td>1.840306</td>\n",
       "      <td>0.61163</td>\n",
       "      <td>-0.233201</td>\n",
       "      <td>2.129379</td>\n",
       "      <td>0.968555</td>\n",
       "      <td>0.976721</td>\n",
       "      <td>1.012029</td>\n",
       "      <td>1.715272</td>\n",
       "      <td>0.657764</td>\n",
       "      <td>-0.204651</td>\n",
       "      <td>-0.307826</td>\n",
       "      <td>-0.325317</td>\n",
       "      <td>-0.341868</td>\n",
       "      <td>-0.366677</td>\n",
       "      <td>-0.680157</td>\n",
       "      <td>-0.940966</td>\n",
       "      <td>-1.49091</td>\n",
       "      <td>-0.794314</td>\n",
       "      <td>0.658798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12</td>\n",
       "      <td>0.471781</td>\n",
       "      <td>-0.312874</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-1.791949</td>\n",
       "      <td>2.404022</td>\n",
       "      <td>1.370690</td>\n",
       "      <td>1.283281</td>\n",
       "      <td>1.226827</td>\n",
       "      <td>-1.731624</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>-0.240176</td>\n",
       "      <td>1.845357</td>\n",
       "      <td>1.135011</td>\n",
       "      <td>1.508616</td>\n",
       "      <td>1.588895</td>\n",
       "      <td>1.835759</td>\n",
       "      <td>0.519609</td>\n",
       "      <td>-0.238877</td>\n",
       "      <td>1.889274</td>\n",
       "      <td>1.204781</td>\n",
       "      <td>1.564570</td>\n",
       "      <td>1.632358</td>\n",
       "      <td>1.832462</td>\n",
       "      <td>0.564722</td>\n",
       "      <td>-0.236147</td>\n",
       "      <td>2.014035</td>\n",
       "      <td>1.287594</td>\n",
       "      <td>1.621766</td>\n",
       "      <td>1.682742</td>\n",
       "      <td>1.840306</td>\n",
       "      <td>0.61163</td>\n",
       "      <td>-0.233201</td>\n",
       "      <td>2.167540</td>\n",
       "      <td>1.373123</td>\n",
       "      <td>1.678048</td>\n",
       "      <td>1.733548</td>\n",
       "      <td>1.851918</td>\n",
       "      <td>0.657764</td>\n",
       "      <td>-0.204651</td>\n",
       "      <td>6.280685</td>\n",
       "      <td>1.599572</td>\n",
       "      <td>2.266568</td>\n",
       "      <td>2.294317</td>\n",
       "      <td>2.146693</td>\n",
       "      <td>1.062901</td>\n",
       "      <td>-1.49091</td>\n",
       "      <td>-0.794314</td>\n",
       "      <td>0.658798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12</td>\n",
       "      <td>0.471781</td>\n",
       "      <td>-0.503911</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-1.791789</td>\n",
       "      <td>0.767824</td>\n",
       "      <td>0.525862</td>\n",
       "      <td>0.529338</td>\n",
       "      <td>0.518049</td>\n",
       "      <td>-1.731624</td>\n",
       "      <td>20.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.580449</td>\n",
       "      <td>0.265675</td>\n",
       "      <td>0.167722</td>\n",
       "      <td>0.330286</td>\n",
       "      <td>0.356899</td>\n",
       "      <td>1.835759</td>\n",
       "      <td>0.519609</td>\n",
       "      <td>1.386522</td>\n",
       "      <td>0.308394</td>\n",
       "      <td>0.202438</td>\n",
       "      <td>0.359534</td>\n",
       "      <td>0.385003</td>\n",
       "      <td>1.142400</td>\n",
       "      <td>0.564722</td>\n",
       "      <td>-0.236147</td>\n",
       "      <td>0.324340</td>\n",
       "      <td>0.242162</td>\n",
       "      <td>0.393493</td>\n",
       "      <td>0.416260</td>\n",
       "      <td>1.840306</td>\n",
       "      <td>0.61163</td>\n",
       "      <td>-0.233201</td>\n",
       "      <td>0.317687</td>\n",
       "      <td>0.283190</td>\n",
       "      <td>0.425723</td>\n",
       "      <td>0.447991</td>\n",
       "      <td>1.851918</td>\n",
       "      <td>0.657764</td>\n",
       "      <td>0.647994</td>\n",
       "      <td>1.212600</td>\n",
       "      <td>0.722551</td>\n",
       "      <td>0.733551</td>\n",
       "      <td>0.756973</td>\n",
       "      <td>2.146693</td>\n",
       "      <td>1.062901</td>\n",
       "      <td>-1.49091</td>\n",
       "      <td>-0.794314</td>\n",
       "      <td>0.658798</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  item_cat_id_fix  item_category_id  item_cnt_month  \\\n",
       "0              12        -0.651193         -1.650131             0.0   \n",
       "1              12         0.471781         -0.312874             0.0   \n",
       "2              12         0.471781         -0.503911             0.0   \n",
       "3              12         0.471781         -0.312874             1.0   \n",
       "4              12         0.471781         -0.503911             1.0   \n",
       "\n",
       "    item_id  item_id_enc_expan  item_id_enc_kf  item_id_enc_loo  \\\n",
       "0 -1.792746           0.065814        0.067542         0.056911   \n",
       "1 -1.792268           2.735060        1.220146         1.087013   \n",
       "2 -1.792108           1.958167        0.995126         0.861688   \n",
       "3 -1.791949           2.404022        1.370690         1.283281   \n",
       "4 -1.791789           0.767824        0.525862         0.529338   \n",
       "\n",
       "   item_id_enc_smoo   shop_id  target_item  target_shop  item_cnt_month_lag_1  \\\n",
       "0          0.089905 -1.731624          1.0         20.0             -0.240176   \n",
       "1          1.040481 -1.731624         20.0         20.0             -0.240176   \n",
       "2          0.829025 -1.731624         16.0         20.0             -0.240176   \n",
       "3          1.226827 -1.731624         20.0         20.0             -0.240176   \n",
       "4          0.518049 -1.731624         20.0         20.0              0.580449   \n",
       "\n",
       "   item_id_enc_expan_lag_1  item_id_enc_kf_lag_1  item_id_enc_loo_lag_1  \\\n",
       "0                -0.379625             -0.384630              -0.407448   \n",
       "1                 2.277774              1.080945               1.201142   \n",
       "2                 1.523713              0.775967               0.849279   \n",
       "3                 1.845357              1.135011               1.508616   \n",
       "4                 0.265675              0.167722               0.330286   \n",
       "\n",
       "   item_id_enc_smoo_lag_1  target_item_lag_1  target_shop_lag_1  \\\n",
       "0               -0.387300          -0.389888           0.519609   \n",
       "1                1.264990           1.835759           0.519609   \n",
       "2                0.897437           1.835759           0.519609   \n",
       "3                1.588895           1.835759           0.519609   \n",
       "4                0.356899           1.835759           0.519609   \n",
       "\n",
       "   item_cnt_month_lag_2  item_id_enc_expan_lag_2  item_id_enc_kf_lag_2  \\\n",
       "0             -0.238877                -0.365656             -0.369931   \n",
       "1             -0.238877                 2.448241              1.148756   \n",
       "2             -0.238877                 1.664457              0.832725   \n",
       "3             -0.238877                 1.889274              1.204781   \n",
       "4              1.386522                 0.308394              0.202438   \n",
       "\n",
       "   item_id_enc_loo_lag_2  item_id_enc_smoo_lag_2  target_item_lag_2  \\\n",
       "0              -0.393283               -0.368474          -0.651761   \n",
       "1               1.250390                1.304415           1.832462   \n",
       "2               0.890853                0.932280           1.832462   \n",
       "3               1.564570                1.632358           1.832462   \n",
       "4               0.359534                0.385003           1.142400   \n",
       "\n",
       "   target_shop_lag_2  item_cnt_month_lag_3  item_id_enc_expan_lag_3  \\\n",
       "0           0.564722             -0.236147                -0.359584   \n",
       "1           0.564722             -0.236147                 2.740088   \n",
       "2           0.564722             -0.236147                 1.861378   \n",
       "3           0.564722             -0.236147                 2.014035   \n",
       "4           0.564722             -0.236147                 0.324340   \n",
       "\n",
       "   item_id_enc_kf_lag_3  item_id_enc_loo_lag_3  item_id_enc_smoo_lag_3  \\\n",
       "0             -0.354812              -0.377180               -0.348770   \n",
       "1              1.229160               1.300992                1.349771   \n",
       "2              0.899544               0.933909                0.971929   \n",
       "3              1.287594               1.621766                1.682742   \n",
       "4              0.242162               0.393493                0.416260   \n",
       "\n",
       "   target_item_lag_3  target_shop_lag_3  item_cnt_month_lag_4  \\\n",
       "0          -0.081363            0.61163             -0.233201   \n",
       "1           1.840306            0.61163             -0.233201   \n",
       "2           1.840306            0.61163             -0.233201   \n",
       "3           1.840306            0.61163             -0.233201   \n",
       "4           1.840306            0.61163             -0.233201   \n",
       "\n",
       "   item_id_enc_expan_lag_4  item_id_enc_kf_lag_4  item_id_enc_loo_lag_4  \\\n",
       "0                -0.342261             -0.339195              -0.360041   \n",
       "1                 3.144455              1.312202               1.350993   \n",
       "2                 2.129379              0.968555               0.976721   \n",
       "3                 2.167540              1.373123               1.678048   \n",
       "4                 0.317687              0.283190               0.425723   \n",
       "\n",
       "   item_id_enc_smoo_lag_4  target_item_lag_4  target_shop_lag_4  \\\n",
       "0               -0.328562          -0.744354           0.657764   \n",
       "1                1.395561           0.895397           0.657764   \n",
       "2                1.012029           1.715272           0.657764   \n",
       "3                1.733548           1.851918           0.657764   \n",
       "4                0.447991           1.851918           0.657764   \n",
       "\n",
       "   item_cnt_month_lag_12  item_id_enc_expan_lag_12  item_id_enc_kf_lag_12  \\\n",
       "0               0.647994                  0.198983              -0.221020   \n",
       "1              -0.204651                 -0.307826              -0.325317   \n",
       "2              -0.204651                 -0.307826              -0.325317   \n",
       "3              -0.204651                  6.280685               1.599572   \n",
       "4               0.647994                  1.212600               0.722551   \n",
       "\n",
       "   item_id_enc_loo_lag_12  item_id_enc_smoo_lag_12  target_item_lag_12  \\\n",
       "0               -0.229000                -0.171674            0.309241   \n",
       "1               -0.341868                -0.366677           -0.680157   \n",
       "2               -0.341868                -0.366677           -0.680157   \n",
       "3                2.266568                 2.294317            2.146693   \n",
       "4                0.733551                 0.756973            2.146693   \n",
       "\n",
       "   target_shop_lag_12    month      year  days_of_month  \n",
       "0            1.062901 -1.49091 -0.794314       0.658798  \n",
       "1           -0.940966 -1.49091 -0.794314       0.658798  \n",
       "2           -0.940966 -1.49091 -0.794314       0.658798  \n",
       "3            1.062901 -1.49091 -0.794314       0.658798  \n",
       "4            1.062901 -1.49091 -0.794314       0.658798  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. Validation\n",
    "The **two-level stacking** model is used to take advantages from different models(linear, Xgboost, NN, etc)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Save `date_block_num`, as we can't use them as features, but will need them to split the dataset into parts."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test `date_block_num` is 34\n",
      "Number of features;  42\n"
     ]
    }
   ],
   "source": [
    "dates = all_data['date_block_num']\n",
    "last_block = dates.max()\n",
    "print('Test `date_block_num` is %d' % last_block)\n",
    "print('Number of features; ' ,len(feature_columns))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.1 First-level model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here the **time-series validation** scheme is used.\n",
    "- 1. Split the train data into chunks of duration **T**. Select first **M** chunks.\n",
    "- 2. Fit **N** diverse models on those **M** chunks and predict for the chunk **M+1**. Then fit those models on first **M+1** chunks and predict for chunk **M+2** and so on, until you hit the end. After that use all train data to fit models and get predictions for test. Now we will have **meta-features** for the chunks starting from number **M+1** as well as **meta-features** for the test.\n",
    "- 3. Now we can use **meta-features** from first **K** chunks **[M+1,M+2,..,M+K]** to fit level 2 models and validate them on chunk **M+K+1**. Essentially we are back to step 1. with the lesser amount of chunks and **meta-features** instead of features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import mean_squared_error\n",
    "from math import sqrt\n",
    "\n",
    "num_first_level_models = 3\n",
    "scoringMethod = 'r2'\n",
    "\n",
    "# Train meta-features M = 15 (12 + 15 = 27)\n",
    "months_to_generate_meta_features = range(27,last_block +1)\n",
    "mask = dates.isin(months_to_generate_meta_features)\n",
    "Target = 'item_cnt_month'\n",
    "y_all_level2 = all_data[Target][mask].values\n",
    "X_all_level2 = np.zeros([y_all_level2.shape[0], num_first_level_models])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now fill `X_train_level2` with **meta-features**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "afd70e06e19d42c1ac3388f1e12a4333",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=8), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\linear_model\\stochastic_gradient.py:128: FutureWarning: max_iter and tol parameters have been added in <class 'sklearn.linear_model.stochastic_gradient.SGDRegressor'> in 0.19. If both are left unset, they default to max_iter=5 and tol=None. If tol is not None, max_iter defaults to max_iter=1000. From 0.21, default max_iter will be 1000, and default tol will be 1e-3.\n",
      "  \"and default tol will be 1e-3.\" % type(self), FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "4810730/4810730 [==============================] - ETA: 4:09 - loss: 1.6308 - mean_squared_error: 1.63 - ETA: 2:07 - loss: 1.6442 - mean_squared_error: 1.64 - ETA: 1:27 - loss: 1.6313 - mean_squared_error: 1.63 - ETA: 1:06 - loss: 1.5920 - mean_squared_error: 1.59 - ETA: 54s - loss: 1.5713 - mean_squared_error: 1.5713 - ETA: 46s - loss: 1.5623 - mean_squared_error: 1.562 - ETA: 40s - loss: 1.5255 - mean_squared_error: 1.525 - ETA: 36s - loss: 1.5084 - mean_squared_error: 1.508 - ETA: 32s - loss: 1.5065 - mean_squared_error: 1.506 - ETA: 29s - loss: 1.5055 - mean_squared_error: 1.505 - ETA: 27s - loss: 1.5036 - mean_squared_error: 1.503 - ETA: 25s - loss: 1.5103 - mean_squared_error: 1.510 - ETA: 23s - loss: 1.5056 - mean_squared_error: 1.505 - ETA: 22s - loss: 1.4952 - mean_squared_error: 1.495 - ETA: 21s - loss: 1.4918 - mean_squared_error: 1.491 - ETA: 19s - loss: 1.4845 - mean_squared_error: 1.484 - ETA: 18s - loss: 1.4806 - mean_squared_error: 1.480 - ETA: 18s - loss: 1.4686 - mean_squared_error: 1.468 - ETA: 17s - loss: 1.4628 - mean_squared_error: 1.462 - ETA: 16s - loss: 1.4586 - mean_squared_error: 1.458 - ETA: 15s - loss: 1.4512 - mean_squared_error: 1.451 - ETA: 15s - loss: 1.4484 - mean_squared_error: 1.448 - ETA: 14s - loss: 1.4378 - mean_squared_error: 1.437 - ETA: 13s - loss: 1.4330 - mean_squared_error: 1.433 - ETA: 13s - loss: 1.4327 - mean_squared_error: 1.432 - ETA: 12s - loss: 1.4257 - mean_squared_error: 1.425 - ETA: 12s - loss: 1.4225 - mean_squared_error: 1.422 - ETA: 12s - loss: 1.4166 - mean_squared_error: 1.416 - ETA: 11s - loss: 1.4119 - mean_squared_error: 1.411 - ETA: 11s - loss: 1.4060 - mean_squared_error: 1.406 - ETA: 10s - loss: 1.4027 - mean_squared_error: 1.402 - ETA: 10s - loss: 1.3978 - mean_squared_error: 1.397 - ETA: 10s - loss: 1.3924 - mean_squared_error: 1.392 - ETA: 9s - loss: 1.3915 - mean_squared_error: 1.391 - ETA: 9s - loss: 1.3886 - mean_squared_error: 1.38 - ETA: 9s - loss: 1.3837 - mean_squared_error: 1.38 - ETA: 9s - loss: 1.3800 - mean_squared_error: 1.38 - ETA: 8s - loss: 1.3777 - mean_squared_error: 1.37 - ETA: 8s - loss: 1.3718 - mean_squared_error: 1.37 - ETA: 8s - loss: 1.3689 - mean_squared_error: 1.36 - ETA: 8s - loss: 1.3656 - mean_squared_error: 1.36 - ETA: 7s - loss: 1.3595 - mean_squared_error: 1.35 - ETA: 7s - loss: 1.3539 - mean_squared_error: 1.35 - ETA: 7s - loss: 1.3494 - mean_squared_error: 1.34 - ETA: 7s - loss: 1.3455 - mean_squared_error: 1.34 - ETA: 6s - loss: 1.3415 - mean_squared_error: 1.34 - ETA: 6s - loss: 1.3415 - mean_squared_error: 1.34 - ETA: 6s - loss: 1.3388 - mean_squared_error: 1.33 - ETA: 6s - loss: 1.3351 - mean_squared_error: 1.33 - ETA: 6s - loss: 1.3321 - mean_squared_error: 1.33 - ETA: 5s - loss: 1.3293 - mean_squared_error: 1.32 - ETA: 5s - loss: 1.3259 - mean_squared_error: 1.32 - ETA: 5s - loss: 1.3221 - mean_squared_error: 1.32 - ETA: 5s - loss: 1.3204 - mean_squared_error: 1.32 - ETA: 5s - loss: 1.3180 - mean_squared_error: 1.31 - ETA: 4s - loss: 1.3150 - mean_squared_error: 1.31 - ETA: 4s - loss: 1.3122 - mean_squared_error: 1.31 - ETA: 4s - loss: 1.3094 - mean_squared_error: 1.30 - ETA: 4s - loss: 1.3052 - mean_squared_error: 1.30 - ETA: 4s - loss: 1.3029 - mean_squared_error: 1.30 - ETA: 3s - loss: 1.3006 - mean_squared_error: 1.30 - ETA: 3s - loss: 1.2981 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2956 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2933 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2898 - mean_squared_error: 1.28 - ETA: 3s - loss: 1.2879 - mean_squared_error: 1.28 - ETA: 2s - loss: 1.2842 - mean_squared_error: 1.28 - ETA: 2s - loss: 1.2812 - mean_squared_error: 1.28 - ETA: 2s - loss: 1.2801 - mean_squared_error: 1.28 - ETA: 2s - loss: 1.2769 - mean_squared_error: 1.27 - ETA: 2s - loss: 1.2742 - mean_squared_error: 1.27 - ETA: 2s - loss: 1.2725 - mean_squared_error: 1.27 - ETA: 2s - loss: 1.2697 - mean_squared_error: 1.26 - ETA: 1s - loss: 1.2675 - mean_squared_error: 1.26 - ETA: 1s - loss: 1.2639 - mean_squared_error: 1.26 - ETA: 1s - loss: 1.2623 - mean_squared_error: 1.26 - ETA: 1s - loss: 1.2602 - mean_squared_error: 1.26 - ETA: 1s - loss: 1.2579 - mean_squared_error: 1.25 - ETA: 1s - loss: 1.2547 - mean_squared_error: 1.25 - ETA: 1s - loss: 1.2520 - mean_squared_error: 1.25 - ETA: 0s - loss: 1.2493 - mean_squared_error: 1.24 - ETA: 0s - loss: 1.2481 - mean_squared_error: 1.24 - ETA: 0s - loss: 1.2468 - mean_squared_error: 1.24 - ETA: 0s - loss: 1.2448 - mean_squared_error: 1.24 - ETA: 0s - loss: 1.2430 - mean_squared_error: 1.24 - ETA: 0s - loss: 1.2408 - mean_squared_error: 1.24 - ETA: 0s - loss: 1.2392 - mean_squared_error: 1.23 - 12s 2us/step - loss: 1.2379 - mean_squared_error: 1.2379\n",
      "Epoch 2/5\n",
      "4810730/4810730 [==============================] - ETA: 29s - loss: 1.0887 - mean_squared_error: 1.088 - ETA: 19s - loss: 1.0932 - mean_squared_error: 1.093 - ETA: 15s - loss: 1.0852 - mean_squared_error: 1.085 - ETA: 13s - loss: 1.0679 - mean_squared_error: 1.067 - ETA: 12s - loss: 1.0798 - mean_squared_error: 1.079 - ETA: 11s - loss: 1.0746 - mean_squared_error: 1.074 - ETA: 11s - loss: 1.0666 - mean_squared_error: 1.066 - ETA: 10s - loss: 1.0664 - mean_squared_error: 1.066 - ETA: 10s - loss: 1.0666 - mean_squared_error: 1.066 - ETA: 10s - loss: 1.0643 - mean_squared_error: 1.064 - ETA: 9s - loss: 1.0573 - mean_squared_error: 1.057 - ETA: 9s - loss: 1.0562 - mean_squared_error: 1.05 - ETA: 9s - loss: 1.0640 - mean_squared_error: 1.06 - ETA: 9s - loss: 1.0590 - mean_squared_error: 1.05 - ETA: 8s - loss: 1.0535 - mean_squared_error: 1.05 - ETA: 8s - loss: 1.0503 - mean_squared_error: 1.05 - ETA: 8s - loss: 1.0472 - mean_squared_error: 1.04 - ETA: 8s - loss: 1.0484 - mean_squared_error: 1.04 - ETA: 8s - loss: 1.0464 - mean_squared_error: 1.04 - ETA: 7s - loss: 1.0445 - mean_squared_error: 1.04 - ETA: 7s - loss: 1.0413 - mean_squared_error: 1.04 - ETA: 7s - loss: 1.0395 - mean_squared_error: 1.03 - ETA: 7s - loss: 1.0371 - mean_squared_error: 1.03 - ETA: 7s - loss: 1.0346 - mean_squared_error: 1.03 - ETA: 7s - loss: 1.0305 - mean_squared_error: 1.03 - ETA: 6s - loss: 1.0288 - mean_squared_error: 1.02 - ETA: 6s - loss: 1.0256 - mean_squared_error: 1.02 - ETA: 6s - loss: 1.0230 - mean_squared_error: 1.02 - ETA: 6s - loss: 1.0228 - mean_squared_error: 1.02 - ETA: 6s - loss: 1.0200 - mean_squared_error: 1.02 - ETA: 6s - loss: 1.0157 - mean_squared_error: 1.01 - ETA: 6s - loss: 1.0152 - mean_squared_error: 1.01 - ETA: 6s - loss: 1.0157 - mean_squared_error: 1.01 - ETA: 5s - loss: 1.0130 - mean_squared_error: 1.01 - ETA: 5s - loss: 1.0127 - mean_squared_error: 1.01 - ETA: 5s - loss: 1.0117 - mean_squared_error: 1.01 - ETA: 5s - loss: 1.0092 - mean_squared_error: 1.00 - ETA: 5s - loss: 1.0068 - mean_squared_error: 1.00 - ETA: 5s - loss: 1.0051 - mean_squared_error: 1.00 - ETA: 5s - loss: 1.0049 - mean_squared_error: 1.00 - ETA: 5s - loss: 1.0031 - mean_squared_error: 1.00 - ETA: 5s - loss: 1.0025 - mean_squared_error: 1.00 - ETA: 4s - loss: 1.0029 - mean_squared_error: 1.00 - ETA: 4s - loss: 1.0011 - mean_squared_error: 1.00 - ETA: 4s - loss: 0.9993 - mean_squared_error: 0.99 - ETA: 4s - loss: 0.9979 - mean_squared_error: 0.99 - ETA: 4s - loss: 0.9956 - mean_squared_error: 0.99 - ETA: 4s - loss: 0.9928 - mean_squared_error: 0.99 - ETA: 4s - loss: 0.9923 - mean_squared_error: 0.99 - ETA: 4s - loss: 0.9910 - mean_squared_error: 0.99 - ETA: 3s - loss: 0.9887 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9864 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9858 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9841 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9827 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9816 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9816 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9804 - mean_squared_error: 0.98 - ETA: 3s - loss: 0.9805 - mean_squared_error: 0.98 - ETA: 2s - loss: 0.9799 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9782 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9762 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9745 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9734 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9728 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9712 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9705 - mean_squared_error: 0.97 - ETA: 2s - loss: 0.9698 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9696 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9686 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9675 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9660 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9651 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9649 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9652 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9659 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9644 - mean_squared_error: 0.96 - ETA: 1s - loss: 0.9638 - mean_squared_error: 0.96 - ETA: 0s - loss: 0.9619 - mean_squared_error: 0.96 - ETA: 0s - loss: 0.9612 - mean_squared_error: 0.96 - ETA: 0s - loss: 0.9604 - mean_squared_error: 0.96 - ETA: 0s - loss: 0.9587 - mean_squared_error: 0.95 - ETA: 0s - loss: 0.9585 - mean_squared_error: 0.95 - ETA: 0s - loss: 0.9585 - mean_squared_error: 0.95 - ETA: 0s - loss: 0.9578 - mean_squared_error: 0.95 - ETA: 0s - loss: 0.9566 - mean_squared_error: 0.95 - ETA: 0s - loss: 0.9554 - mean_squared_error: 0.95 - 9s 2us/step - loss: 0.9552 - mean_squared_error: 0.9552\n",
      "Epoch 3/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4810730/4810730 [==============================] - ETA: 29s - loss: 0.8986 - mean_squared_error: 0.898 - ETA: 18s - loss: 0.8616 - mean_squared_error: 0.861 - ETA: 15s - loss: 0.8659 - mean_squared_error: 0.865 - ETA: 13s - loss: 0.8703 - mean_squared_error: 0.870 - ETA: 12s - loss: 0.8735 - mean_squared_error: 0.873 - ETA: 11s - loss: 0.8768 - mean_squared_error: 0.876 - ETA: 10s - loss: 0.8733 - mean_squared_error: 0.873 - ETA: 10s - loss: 0.8715 - mean_squared_error: 0.871 - ETA: 10s - loss: 0.8667 - mean_squared_error: 0.866 - ETA: 9s - loss: 0.8720 - mean_squared_error: 0.872 - ETA: 9s - loss: 0.8787 - mean_squared_error: 0.87 - ETA: 9s - loss: 0.8800 - mean_squared_error: 0.88 - ETA: 8s - loss: 0.8822 - mean_squared_error: 0.88 - ETA: 8s - loss: 0.8783 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8821 - mean_squared_error: 0.88 - ETA: 8s - loss: 0.8858 - mean_squared_error: 0.88 - ETA: 8s - loss: 0.8856 - mean_squared_error: 0.88 - ETA: 8s - loss: 0.8864 - mean_squared_error: 0.88 - ETA: 7s - loss: 0.8851 - mean_squared_error: 0.88 - ETA: 7s - loss: 0.8860 - mean_squared_error: 0.88 - ETA: 7s - loss: 0.8871 - mean_squared_error: 0.88 - ETA: 7s - loss: 0.8879 - mean_squared_error: 0.88 - ETA: 7s - loss: 0.8904 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8908 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8892 - mean_squared_error: 0.88 - ETA: 6s - loss: 0.8894 - mean_squared_error: 0.88 - ETA: 6s - loss: 0.8903 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8909 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8935 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8931 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8922 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8922 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8911 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8914 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8916 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8892 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8879 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8861 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8858 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8848 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8846 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8844 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8847 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8830 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8814 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8827 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8815 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8812 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8804 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8809 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8799 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8800 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8807 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8791 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8795 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8783 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8779 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8780 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8790 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8785 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8793 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8780 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8776 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8776 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8763 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8766 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8752 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8747 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8744 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8739 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8734 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8733 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8727 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8727 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8712 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8710 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8716 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8709 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8705 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8712 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8715 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8715 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8715 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8714 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8722 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8726 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8719 - mean_squared_error: 0.87 - 9s 2us/step - loss: 0.8715 - mean_squared_error: 0.8715\n",
      "Epoch 4/5\n",
      "4810730/4810730 [==============================] - ETA: 27s - loss: 0.8746 - mean_squared_error: 0.874 - ETA: 18s - loss: 0.8694 - mean_squared_error: 0.869 - ETA: 15s - loss: 0.8395 - mean_squared_error: 0.839 - ETA: 13s - loss: 0.8456 - mean_squared_error: 0.845 - ETA: 12s - loss: 0.8285 - mean_squared_error: 0.828 - ETA: 11s - loss: 0.8239 - mean_squared_error: 0.823 - ETA: 10s - loss: 0.8410 - mean_squared_error: 0.841 - ETA: 10s - loss: 0.8351 - mean_squared_error: 0.835 - ETA: 10s - loss: 0.8381 - mean_squared_error: 0.838 - ETA: 9s - loss: 0.8379 - mean_squared_error: 0.837 - ETA: 9s - loss: 0.8399 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8395 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8433 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8497 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8523 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8520 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8501 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8464 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8503 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8505 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8503 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8496 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8498 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8511 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8510 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8524 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8551 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8539 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8535 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8552 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8528 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8522 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8518 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8494 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8482 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8475 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8481 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8484 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8479 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8479 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8479 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8486 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8501 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8499 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8505 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8504 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8505 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8505 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8507 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8510 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8515 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8509 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8520 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8520 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8512 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8513 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8517 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8518 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8517 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8521 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8526 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8528 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8530 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8527 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8535 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8540 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8535 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8538 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8538 - mean_squared_error: 0.85 - 10s 2us/step - loss: 0.8534 - mean_squared_error: 0.8534\n",
      "Epoch 5/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4810730/4810730 [==============================] - ETA: 27s - loss: 0.8547 - mean_squared_error: 0.854 - ETA: 18s - loss: 0.8309 - mean_squared_error: 0.830 - ETA: 14s - loss: 0.8570 - mean_squared_error: 0.857 - ETA: 13s - loss: 0.8640 - mean_squared_error: 0.864 - ETA: 12s - loss: 0.8526 - mean_squared_error: 0.852 - ETA: 11s - loss: 0.8643 - mean_squared_error: 0.864 - ETA: 10s - loss: 0.8694 - mean_squared_error: 0.869 - ETA: 10s - loss: 0.8703 - mean_squared_error: 0.870 - ETA: 10s - loss: 0.8622 - mean_squared_error: 0.862 - ETA: 9s - loss: 0.8564 - mean_squared_error: 0.856 - ETA: 9s - loss: 0.8547 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8485 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8455 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8408 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8396 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8372 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8343 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8375 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8347 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8372 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8361 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8353 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8344 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8338 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8336 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8329 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8335 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8324 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8342 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8392 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8375 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8399 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8393 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8391 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8391 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8411 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8395 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8411 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8429 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8457 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8480 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8485 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8492 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8479 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8459 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8462 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8458 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8463 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8463 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8450 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8440 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8442 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8451 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8438 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8439 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8447 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8467 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8470 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8459 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8451 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8454 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8444 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8441 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8445 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8450 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8454 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8455 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8454 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8460 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8455 - mean_squared_error: 0.84 - 9s 2us/step - loss: 0.8457 - mean_squared_error: 0.8457\n",
      "257372/257372 [==============================] - ETA:  - ETA:  - 0s 1us/step\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\linear_model\\stochastic_gradient.py:128: FutureWarning: max_iter and tol parameters have been added in <class 'sklearn.linear_model.stochastic_gradient.SGDRegressor'> in 0.19. If both are left unset, they default to max_iter=5 and tol=None. If tol is not None, max_iter defaults to max_iter=1000. From 0.21, default max_iter will be 1000, and default tol will be 1e-3.\n",
      "  \"and default tol will be 1e-3.\" % type(self), FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n",
      "5068102/5068102 [==============================] - ETA: 50s - loss: 1.6491 - mean_squared_error: 1.649 - ETA: 30s - loss: 1.5926 - mean_squared_error: 1.592 - ETA: 23s - loss: 1.5908 - mean_squared_error: 1.590 - ETA: 20s - loss: 1.5901 - mean_squared_error: 1.590 - ETA: 17s - loss: 1.5949 - mean_squared_error: 1.594 - ETA: 16s - loss: 1.5791 - mean_squared_error: 1.579 - ETA: 14s - loss: 1.5640 - mean_squared_error: 1.564 - ETA: 14s - loss: 1.5561 - mean_squared_error: 1.556 - ETA: 13s - loss: 1.5557 - mean_squared_error: 1.555 - ETA: 12s - loss: 1.5475 - mean_squared_error: 1.547 - ETA: 12s - loss: 1.5396 - mean_squared_error: 1.539 - ETA: 11s - loss: 1.5276 - mean_squared_error: 1.527 - ETA: 11s - loss: 1.5247 - mean_squared_error: 1.524 - ETA: 11s - loss: 1.5125 - mean_squared_error: 1.512 - ETA: 10s - loss: 1.5074 - mean_squared_error: 1.507 - ETA: 10s - loss: 1.4968 - mean_squared_error: 1.496 - ETA: 10s - loss: 1.4916 - mean_squared_error: 1.491 - ETA: 10s - loss: 1.4860 - mean_squared_error: 1.486 - ETA: 9s - loss: 1.4789 - mean_squared_error: 1.478 - ETA: 9s - loss: 1.4730 - mean_squared_error: 1.47 - ETA: 9s - loss: 1.4589 - mean_squared_error: 1.45 - ETA: 9s - loss: 1.4495 - mean_squared_error: 1.44 - ETA: 8s - loss: 1.4475 - mean_squared_error: 1.44 - ETA: 8s - loss: 1.4365 - mean_squared_error: 1.43 - ETA: 8s - loss: 1.4368 - mean_squared_error: 1.43 - ETA: 8s - loss: 1.4306 - mean_squared_error: 1.43 - ETA: 8s - loss: 1.4232 - mean_squared_error: 1.42 - ETA: 8s - loss: 1.4172 - mean_squared_error: 1.41 - ETA: 7s - loss: 1.4109 - mean_squared_error: 1.41 - ETA: 7s - loss: 1.4071 - mean_squared_error: 1.40 - ETA: 7s - loss: 1.4041 - mean_squared_error: 1.40 - ETA: 7s - loss: 1.4029 - mean_squared_error: 1.40 - ETA: 7s - loss: 1.3980 - mean_squared_error: 1.39 - ETA: 7s - loss: 1.3912 - mean_squared_error: 1.39 - ETA: 7s - loss: 1.3850 - mean_squared_error: 1.38 - ETA: 6s - loss: 1.3796 - mean_squared_error: 1.37 - ETA: 6s - loss: 1.3730 - mean_squared_error: 1.37 - ETA: 6s - loss: 1.3687 - mean_squared_error: 1.36 - ETA: 6s - loss: 1.3641 - mean_squared_error: 1.36 - ETA: 6s - loss: 1.3600 - mean_squared_error: 1.36 - ETA: 6s - loss: 1.3559 - mean_squared_error: 1.35 - ETA: 6s - loss: 1.3522 - mean_squared_error: 1.35 - ETA: 5s - loss: 1.3483 - mean_squared_error: 1.34 - ETA: 5s - loss: 1.3461 - mean_squared_error: 1.34 - ETA: 5s - loss: 1.3410 - mean_squared_error: 1.34 - ETA: 5s - loss: 1.3383 - mean_squared_error: 1.33 - ETA: 5s - loss: 1.3374 - mean_squared_error: 1.33 - ETA: 5s - loss: 1.3334 - mean_squared_error: 1.33 - ETA: 5s - loss: 1.3304 - mean_squared_error: 1.33 - ETA: 5s - loss: 1.3263 - mean_squared_error: 1.32 - ETA: 4s - loss: 1.3224 - mean_squared_error: 1.32 - ETA: 4s - loss: 1.3185 - mean_squared_error: 1.31 - ETA: 4s - loss: 1.3144 - mean_squared_error: 1.31 - ETA: 4s - loss: 1.3095 - mean_squared_error: 1.30 - ETA: 4s - loss: 1.3058 - mean_squared_error: 1.30 - ETA: 4s - loss: 1.3023 - mean_squared_error: 1.30 - ETA: 4s - loss: 1.2997 - mean_squared_error: 1.29 - ETA: 4s - loss: 1.2975 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2945 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2926 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2908 - mean_squared_error: 1.29 - ETA: 3s - loss: 1.2887 - mean_squared_error: 1.28 - ETA: 3s - loss: 1.2842 - mean_squared_error: 1.28 - ETA: 3s - loss: 1.2813 - mean_squared_error: 1.28 - ETA: 3s - loss: 1.2785 - mean_squared_error: 1.27 - ETA: 3s - loss: 1.2760 - mean_squared_error: 1.27 - ETA: 2s - loss: 1.2745 - mean_squared_error: 1.27 - ETA: 2s - loss: 1.2716 - mean_squared_error: 1.27 - ETA: 2s - loss: 1.2696 - mean_squared_error: 1.26 - ETA: 2s - loss: 1.2684 - mean_squared_error: 1.26 - ETA: 2s - loss: 1.2653 - mean_squared_error: 1.26 - ETA: 2s - loss: 1.2625 - mean_squared_error: 1.26 - ETA: 2s - loss: 1.2598 - mean_squared_error: 1.25 - ETA: 2s - loss: 1.2564 - mean_squared_error: 1.25 - ETA: 1s - loss: 1.2540 - mean_squared_error: 1.25 - ETA: 1s - loss: 1.2524 - mean_squared_error: 1.25 - ETA: 1s - loss: 1.2508 - mean_squared_error: 1.25 - ETA: 1s - loss: 1.2493 - mean_squared_error: 1.24 - ETA: 1s - loss: 1.2471 - mean_squared_error: 1.24 - ETA: 1s - loss: 1.2454 - mean_squared_error: 1.24 - ETA: 1s - loss: 1.2432 - mean_squared_error: 1.24 - ETA: 1s - loss: 1.2416 - mean_squared_error: 1.24 - ETA: 1s - loss: 1.2393 - mean_squared_error: 1.23 - ETA: 0s - loss: 1.2380 - mean_squared_error: 1.23 - ETA: 0s - loss: 1.2352 - mean_squared_error: 1.23 - ETA: 0s - loss: 1.2325 - mean_squared_error: 1.23 - ETA: 0s - loss: 1.2301 - mean_squared_error: 1.23 - ETA: 0s - loss: 1.2273 - mean_squared_error: 1.22 - ETA: 0s - loss: 1.2252 - mean_squared_error: 1.22 - ETA: 0s - loss: 1.2227 - mean_squared_error: 1.22 - ETA: 0s - loss: 1.2212 - mean_squared_error: 1.22 - ETA: 0s - loss: 1.2193 - mean_squared_error: 1.21 - 11s 2us/step - loss: 1.2188 - mean_squared_error: 1.2188\n",
      "Epoch 2/5\n",
      "5068102/5068102 [==============================] - ETA: 29s - loss: 1.0374 - mean_squared_error: 1.037 - ETA: 19s - loss: 1.0607 - mean_squared_error: 1.060 - ETA: 16s - loss: 1.0513 - mean_squared_error: 1.051 - ETA: 14s - loss: 1.0633 - mean_squared_error: 1.063 - ETA: 13s - loss: 1.0524 - mean_squared_error: 1.052 - ETA: 12s - loss: 1.0513 - mean_squared_error: 1.051 - ETA: 11s - loss: 1.0533 - mean_squared_error: 1.053 - ETA: 11s - loss: 1.0401 - mean_squared_error: 1.040 - ETA: 10s - loss: 1.0427 - mean_squared_error: 1.042 - ETA: 10s - loss: 1.0425 - mean_squared_error: 1.042 - ETA: 10s - loss: 1.0399 - mean_squared_error: 1.039 - ETA: 10s - loss: 1.0363 - mean_squared_error: 1.036 - ETA: 9s - loss: 1.0355 - mean_squared_error: 1.035 - ETA: 9s - loss: 1.0366 - mean_squared_error: 1.03 - ETA: 9s - loss: 1.0253 - mean_squared_error: 1.02 - ETA: 9s - loss: 1.0244 - mean_squared_error: 1.02 - ETA: 9s - loss: 1.0206 - mean_squared_error: 1.02 - ETA: 8s - loss: 1.0226 - mean_squared_error: 1.02 - ETA: 8s - loss: 1.0196 - mean_squared_error: 1.01 - ETA: 8s - loss: 1.0162 - mean_squared_error: 1.01 - ETA: 8s - loss: 1.0136 - mean_squared_error: 1.01 - ETA: 8s - loss: 1.0087 - mean_squared_error: 1.00 - ETA: 8s - loss: 1.0062 - mean_squared_error: 1.00 - ETA: 8s - loss: 1.0061 - mean_squared_error: 1.00 - ETA: 7s - loss: 1.0030 - mean_squared_error: 1.00 - ETA: 7s - loss: 1.0001 - mean_squared_error: 1.00 - ETA: 7s - loss: 0.9969 - mean_squared_error: 0.99 - ETA: 7s - loss: 0.9975 - mean_squared_error: 0.99 - ETA: 7s - loss: 0.9968 - mean_squared_error: 0.99 - ETA: 7s - loss: 0.9968 - mean_squared_error: 0.99 - ETA: 7s - loss: 0.9941 - mean_squared_error: 0.99 - ETA: 6s - loss: 0.9931 - mean_squared_error: 0.99 - ETA: 6s - loss: 0.9909 - mean_squared_error: 0.99 - ETA: 6s - loss: 0.9883 - mean_squared_error: 0.98 - ETA: 6s - loss: 0.9862 - mean_squared_error: 0.98 - ETA: 6s - loss: 0.9842 - mean_squared_error: 0.98 - ETA: 6s - loss: 0.9838 - mean_squared_error: 0.98 - ETA: 6s - loss: 0.9854 - mean_squared_error: 0.98 - ETA: 6s - loss: 0.9833 - mean_squared_error: 0.98 - ETA: 5s - loss: 0.9819 - mean_squared_error: 0.98 - ETA: 5s - loss: 0.9797 - mean_squared_error: 0.97 - ETA: 5s - loss: 0.9773 - mean_squared_error: 0.97 - ETA: 5s - loss: 0.9759 - mean_squared_error: 0.97 - ETA: 5s - loss: 0.9743 - mean_squared_error: 0.97 - ETA: 5s - loss: 0.9740 - mean_squared_error: 0.97 - ETA: 5s - loss: 0.9741 - mean_squared_error: 0.97 - ETA: 5s - loss: 0.9734 - mean_squared_error: 0.97 - ETA: 4s - loss: 0.9724 - mean_squared_error: 0.97 - ETA: 4s - loss: 0.9714 - mean_squared_error: 0.97 - ETA: 4s - loss: 0.9707 - mean_squared_error: 0.97 - ETA: 4s - loss: 0.9700 - mean_squared_error: 0.97 - ETA: 4s - loss: 0.9683 - mean_squared_error: 0.96 - ETA: 4s - loss: 0.9668 - mean_squared_error: 0.96 - ETA: 4s - loss: 0.9663 - mean_squared_error: 0.96 - ETA: 4s - loss: 0.9649 - mean_squared_error: 0.96 - ETA: 4s - loss: 0.9634 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9635 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9646 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9621 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9627 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9627 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9610 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9613 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9604 - mean_squared_error: 0.96 - ETA: 3s - loss: 0.9603 - mean_squared_error: 0.96 - ETA: 2s - loss: 0.9612 - mean_squared_error: 0.96 - ETA: 2s - loss: 0.9600 - mean_squared_error: 0.96 - ETA: 2s - loss: 0.9587 - mean_squared_error: 0.95 - ETA: 2s - loss: 0.9582 - mean_squared_error: 0.95 - ETA: 2s - loss: 0.9571 - mean_squared_error: 0.95 - ETA: 2s - loss: 0.9566 - mean_squared_error: 0.95 - ETA: 2s - loss: 0.9562 - mean_squared_error: 0.95 - ETA: 2s - loss: 0.9541 - mean_squared_error: 0.95 - ETA: 2s - loss: 0.9537 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9530 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9533 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9520 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9521 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9513 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9502 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9500 - mean_squared_error: 0.95 - ETA: 1s - loss: 0.9496 - mean_squared_error: 0.94 - ETA: 1s - loss: 0.9481 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9473 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9466 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9470 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9461 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9457 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9456 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9449 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9444 - mean_squared_error: 0.94 - ETA: 0s - loss: 0.9443 - mean_squared_error: 0.94 - 10s 2us/step - loss: 0.9442 - mean_squared_error: 0.9442\n",
      "Epoch 3/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5068102/5068102 [==============================] - ETA: 29s - loss: 0.9281 - mean_squared_error: 0.928 - ETA: 19s - loss: 0.9165 - mean_squared_error: 0.916 - ETA: 15s - loss: 0.9166 - mean_squared_error: 0.916 - ETA: 14s - loss: 0.8779 - mean_squared_error: 0.877 - ETA: 13s - loss: 0.8945 - mean_squared_error: 0.894 - ETA: 12s - loss: 0.8983 - mean_squared_error: 0.898 - ETA: 11s - loss: 0.8960 - mean_squared_error: 0.896 - ETA: 11s - loss: 0.8932 - mean_squared_error: 0.893 - ETA: 10s - loss: 0.8898 - mean_squared_error: 0.889 - ETA: 10s - loss: 0.8864 - mean_squared_error: 0.886 - ETA: 10s - loss: 0.8790 - mean_squared_error: 0.879 - ETA: 10s - loss: 0.8783 - mean_squared_error: 0.878 - ETA: 9s - loss: 0.8807 - mean_squared_error: 0.880 - ETA: 9s - loss: 0.8796 - mean_squared_error: 0.87 - ETA: 9s - loss: 0.8801 - mean_squared_error: 0.88 - ETA: 9s - loss: 0.8795 - mean_squared_error: 0.87 - ETA: 9s - loss: 0.8741 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8749 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8745 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8755 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8772 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8778 - mean_squared_error: 0.87 - ETA: 8s - loss: 0.8768 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8779 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8772 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8764 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8764 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8737 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8742 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8743 - mean_squared_error: 0.87 - ETA: 7s - loss: 0.8722 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8713 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8715 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8742 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8736 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8741 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8738 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8743 - mean_squared_error: 0.87 - ETA: 6s - loss: 0.8752 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8747 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8740 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8749 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8769 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8769 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8764 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8753 - mean_squared_error: 0.87 - ETA: 5s - loss: 0.8759 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8745 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8746 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8745 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8745 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8736 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8725 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8713 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8714 - mean_squared_error: 0.87 - ETA: 4s - loss: 0.8702 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8700 - mean_squared_error: 0.87 - ETA: 3s - loss: 0.8685 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8685 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8684 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8682 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8676 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8668 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8668 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8667 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8672 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8678 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8674 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8673 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8674 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8669 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8668 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8677 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8678 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8675 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8687 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8682 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8683 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8686 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8680 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8682 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8666 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8665 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8665 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8669 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8674 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8678 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8684 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8688 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8689 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8690 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8692 - mean_squared_error: 0.86 - 10s 2us/step - loss: 0.8688 - mean_squared_error: 0.8688\n",
      "Epoch 4/5\n",
      "5068102/5068102 [==============================] - ETA: 29s - loss: 0.8460 - mean_squared_error: 0.846 - ETA: 19s - loss: 0.8099 - mean_squared_error: 0.809 - ETA: 15s - loss: 0.8469 - mean_squared_error: 0.846 - ETA: 14s - loss: 0.8377 - mean_squared_error: 0.837 - ETA: 13s - loss: 0.8468 - mean_squared_error: 0.846 - ETA: 12s - loss: 0.8464 - mean_squared_error: 0.846 - ETA: 11s - loss: 0.8472 - mean_squared_error: 0.847 - ETA: 11s - loss: 0.8495 - mean_squared_error: 0.849 - ETA: 10s - loss: 0.8499 - mean_squared_error: 0.849 - ETA: 10s - loss: 0.8499 - mean_squared_error: 0.849 - ETA: 10s - loss: 0.8527 - mean_squared_error: 0.852 - ETA: 10s - loss: 0.8515 - mean_squared_error: 0.851 - ETA: 9s - loss: 0.8478 - mean_squared_error: 0.847 - ETA: 9s - loss: 0.8512 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8516 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8515 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8497 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8509 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8501 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8447 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8440 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8460 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8468 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8498 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8496 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8498 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8511 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8507 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8526 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8515 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8527 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8510 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8508 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8504 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8508 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8522 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8536 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8545 - mean_squared_error: 0.85 - ETA: 5s - loss: 0.8532 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8547 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8546 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8545 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8546 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8542 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8550 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8555 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8556 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8536 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8533 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8541 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8542 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8526 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8528 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8534 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8524 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8517 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8513 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8505 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8517 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8515 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8516 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8511 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8502 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8514 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8517 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8522 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8523 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8527 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8527 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8524 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8519 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8517 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8516 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8513 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8530 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8519 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8519 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8523 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8521 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8515 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8513 - mean_squared_error: 0.85 - 10s 2us/step - loss: 0.8513 - mean_squared_error: 0.8513\n",
      "Epoch 5/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5068102/5068102 [==============================] - ETA: 30s - loss: 0.7877 - mean_squared_error: 0.787 - ETA: 19s - loss: 0.7904 - mean_squared_error: 0.790 - ETA: 16s - loss: 0.8462 - mean_squared_error: 0.846 - ETA: 14s - loss: 0.8613 - mean_squared_error: 0.861 - ETA: 13s - loss: 0.8674 - mean_squared_error: 0.867 - ETA: 12s - loss: 0.8659 - mean_squared_error: 0.865 - ETA: 12s - loss: 0.8553 - mean_squared_error: 0.855 - ETA: 11s - loss: 0.8482 - mean_squared_error: 0.848 - ETA: 11s - loss: 0.8492 - mean_squared_error: 0.849 - ETA: 10s - loss: 0.8554 - mean_squared_error: 0.855 - ETA: 10s - loss: 0.8552 - mean_squared_error: 0.855 - ETA: 10s - loss: 0.8486 - mean_squared_error: 0.848 - ETA: 10s - loss: 0.8510 - mean_squared_error: 0.851 - ETA: 9s - loss: 0.8536 - mean_squared_error: 0.853 - ETA: 9s - loss: 0.8498 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8504 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8468 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8505 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8491 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8470 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8496 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8504 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8497 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8509 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8496 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8503 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8494 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8491 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8490 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8484 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8495 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8462 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8455 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8460 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8453 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8468 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8454 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8470 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8464 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8481 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8495 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8496 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8490 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8491 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8491 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8484 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8477 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8475 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8475 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8466 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8471 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8477 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8468 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8459 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8458 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8447 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8443 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8440 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8450 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8451 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8451 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8450 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8445 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8453 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8448 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8454 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8448 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8439 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8432 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8437 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8432 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8426 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8433 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8441 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8440 - mean_squared_error: 0.84 - 10s 2us/step - loss: 0.8438 - mean_squared_error: 0.8438\n",
      "232452/232452 [==============================] - ETA:  - ETA:  - 0s 1us/step\n",
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n",
      "5300554/5300554 [==============================] - ETA: 54s - loss: 1.3895 - mean_squared_error: 1.389 - ETA: 32s - loss: 1.4440 - mean_squared_error: 1.444 - ETA: 24s - loss: 1.4652 - mean_squared_error: 1.465 - ETA: 20s - loss: 1.4883 - mean_squared_error: 1.488 - ETA: 18s - loss: 1.4640 - mean_squared_error: 1.464 - ETA: 16s - loss: 1.4645 - mean_squared_error: 1.464 - ETA: 15s - loss: 1.4849 - mean_squared_error: 1.484 - ETA: 14s - loss: 1.4958 - mean_squared_error: 1.495 - ETA: 13s - loss: 1.4865 - mean_squared_error: 1.486 - ETA: 13s - loss: 1.4779 - mean_squared_error: 1.477 - ETA: 13s - loss: 1.4728 - mean_squared_error: 1.472 - ETA: 12s - loss: 1.4679 - mean_squared_error: 1.467 - ETA: 12s - loss: 1.4563 - mean_squared_error: 1.456 - ETA: 11s - loss: 1.4540 - mean_squared_error: 1.454 - ETA: 11s - loss: 1.4469 - mean_squared_error: 1.446 - ETA: 11s - loss: 1.4388 - mean_squared_error: 1.438 - ETA: 10s - loss: 1.4355 - mean_squared_error: 1.435 - ETA: 10s - loss: 1.4297 - mean_squared_error: 1.429 - ETA: 10s - loss: 1.4232 - mean_squared_error: 1.423 - ETA: 10s - loss: 1.4256 - mean_squared_error: 1.425 - ETA: 9s - loss: 1.4247 - mean_squared_error: 1.424 - ETA: 9s - loss: 1.4210 - mean_squared_error: 1.42 - ETA: 9s - loss: 1.4144 - mean_squared_error: 1.41 - ETA: 9s - loss: 1.4068 - mean_squared_error: 1.40 - ETA: 9s - loss: 1.4011 - mean_squared_error: 1.40 - ETA: 8s - loss: 1.3955 - mean_squared_error: 1.39 - ETA: 8s - loss: 1.3895 - mean_squared_error: 1.38 - ETA: 8s - loss: 1.3859 - mean_squared_error: 1.38 - ETA: 8s - loss: 1.3817 - mean_squared_error: 1.38 - ETA: 8s - loss: 1.3748 - mean_squared_error: 1.37 - ETA: 8s - loss: 1.3715 - mean_squared_error: 1.37 - ETA: 7s - loss: 1.3670 - mean_squared_error: 1.36 - ETA: 7s - loss: 1.3613 - mean_squared_error: 1.36 - ETA: 7s - loss: 1.3554 - mean_squared_error: 1.35 - ETA: 7s - loss: 1.3528 - mean_squared_error: 1.35 - ETA: 7s - loss: 1.3460 - mean_squared_error: 1.34 - ETA: 7s - loss: 1.3415 - mean_squared_error: 1.34 - ETA: 7s - loss: 1.3380 - mean_squared_error: 1.33 - ETA: 6s - loss: 1.3323 - mean_squared_error: 1.33 - ETA: 6s - loss: 1.3277 - mean_squared_error: 1.32 - ETA: 6s - loss: 1.3223 - mean_squared_error: 1.32 - ETA: 6s - loss: 1.3181 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3141 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3104 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3086 - mean_squared_error: 1.30 - ETA: 5s - loss: 1.3066 - mean_squared_error: 1.30 - ETA: 5s - loss: 1.3025 - mean_squared_error: 1.30 - ETA: 5s - loss: 1.2995 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2942 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2944 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2926 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2892 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2858 - mean_squared_error: 1.28 - ETA: 4s - loss: 1.2829 - mean_squared_error: 1.28 - ETA: 4s - loss: 1.2804 - mean_squared_error: 1.28 - ETA: 4s - loss: 1.2798 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2781 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2759 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2739 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2709 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2689 - mean_squared_error: 1.26 - ETA: 3s - loss: 1.2677 - mean_squared_error: 1.26 - ETA: 3s - loss: 1.2652 - mean_squared_error: 1.26 - ETA: 3s - loss: 1.2633 - mean_squared_error: 1.26 - ETA: 3s - loss: 1.2592 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2571 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2541 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2530 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2499 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2486 - mean_squared_error: 1.24 - ETA: 2s - loss: 1.2472 - mean_squared_error: 1.24 - ETA: 2s - loss: 1.2459 - mean_squared_error: 1.24 - ETA: 2s - loss: 1.2440 - mean_squared_error: 1.24 - ETA: 2s - loss: 1.2421 - mean_squared_error: 1.24 - ETA: 2s - loss: 1.2412 - mean_squared_error: 1.24 - ETA: 2s - loss: 1.2394 - mean_squared_error: 1.23 - ETA: 2s - loss: 1.2374 - mean_squared_error: 1.23 - ETA: 2s - loss: 1.2349 - mean_squared_error: 1.23 - ETA: 1s - loss: 1.2328 - mean_squared_error: 1.23 - ETA: 1s - loss: 1.2304 - mean_squared_error: 1.23 - ETA: 1s - loss: 1.2282 - mean_squared_error: 1.22 - ETA: 1s - loss: 1.2262 - mean_squared_error: 1.22 - ETA: 1s - loss: 1.2242 - mean_squared_error: 1.22 - ETA: 1s - loss: 1.2224 - mean_squared_error: 1.22 - ETA: 1s - loss: 1.2202 - mean_squared_error: 1.22 - ETA: 1s - loss: 1.2176 - mean_squared_error: 1.21 - ETA: 1s - loss: 1.2160 - mean_squared_error: 1.21 - ETA: 0s - loss: 1.2147 - mean_squared_error: 1.21 - ETA: 0s - loss: 1.2137 - mean_squared_error: 1.21 - ETA: 0s - loss: 1.2117 - mean_squared_error: 1.21 - ETA: 0s - loss: 1.2100 - mean_squared_error: 1.21 - ETA: 0s - loss: 1.2088 - mean_squared_error: 1.20 - ETA: 0s - loss: 1.2073 - mean_squared_error: 1.20 - ETA: 0s - loss: 1.2055 - mean_squared_error: 1.20 - ETA: 0s - loss: 1.2039 - mean_squared_error: 1.20 - ETA: 0s - loss: 1.2017 - mean_squared_error: 1.20 - 11s 2us/step - loss: 1.2013 - mean_squared_error: 1.2013\n",
      "Epoch 2/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5300554/5300554 [==============================] - ETA: 31s - loss: 1.0010 - mean_squared_error: 1.001 - ETA: 20s - loss: 1.0280 - mean_squared_error: 1.028 - ETA: 17s - loss: 1.0297 - mean_squared_error: 1.029 - ETA: 15s - loss: 1.0286 - mean_squared_error: 1.028 - ETA: 14s - loss: 1.0325 - mean_squared_error: 1.032 - ETA: 13s - loss: 1.0228 - mean_squared_error: 1.022 - ETA: 12s - loss: 1.0189 - mean_squared_error: 1.018 - ETA: 12s - loss: 1.0048 - mean_squared_error: 1.004 - ETA: 11s - loss: 1.0067 - mean_squared_error: 1.006 - ETA: 11s - loss: 1.0037 - mean_squared_error: 1.003 - ETA: 10s - loss: 1.0030 - mean_squared_error: 1.003 - ETA: 10s - loss: 0.9979 - mean_squared_error: 0.997 - ETA: 10s - loss: 1.0013 - mean_squared_error: 1.001 - ETA: 10s - loss: 0.9979 - mean_squared_error: 0.997 - ETA: 10s - loss: 1.0016 - mean_squared_error: 1.001 - ETA: 9s - loss: 0.9994 - mean_squared_error: 0.999 - ETA: 9s - loss: 0.9952 - mean_squared_error: 0.99 - ETA: 9s - loss: 0.9924 - mean_squared_error: 0.99 - ETA: 9s - loss: 0.9903 - mean_squared_error: 0.99 - ETA: 9s - loss: 0.9881 - mean_squared_error: 0.98 - ETA: 9s - loss: 0.9929 - mean_squared_error: 0.99 - ETA: 8s - loss: 0.9901 - mean_squared_error: 0.99 - ETA: 8s - loss: 0.9918 - mean_squared_error: 0.99 - ETA: 8s - loss: 0.9898 - mean_squared_error: 0.98 - ETA: 8s - loss: 0.9863 - mean_squared_error: 0.98 - ETA: 8s - loss: 0.9853 - mean_squared_error: 0.98 - ETA: 8s - loss: 0.9832 - mean_squared_error: 0.98 - ETA: 7s - loss: 0.9790 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9762 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9754 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9761 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9733 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9723 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9728 - mean_squared_error: 0.97 - ETA: 7s - loss: 0.9726 - mean_squared_error: 0.97 - ETA: 6s - loss: 0.9728 - mean_squared_error: 0.97 - ETA: 6s - loss: 0.9703 - mean_squared_error: 0.97 - ETA: 6s - loss: 0.9699 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9684 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9682 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9680 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9680 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9654 - mean_squared_error: 0.96 - ETA: 5s - loss: 0.9618 - mean_squared_error: 0.96 - ETA: 5s - loss: 0.9604 - mean_squared_error: 0.96 - ETA: 5s - loss: 0.9584 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9579 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9564 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9580 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9576 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9561 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9570 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9555 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9556 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9539 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9530 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9514 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9505 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9497 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9498 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9502 - mean_squared_error: 0.95 - ETA: 3s - loss: 0.9484 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9486 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9471 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9459 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9443 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9436 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9429 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9428 - mean_squared_error: 0.94 - ETA: 2s - loss: 0.9426 - mean_squared_error: 0.94 - ETA: 2s - loss: 0.9415 - mean_squared_error: 0.94 - ETA: 2s - loss: 0.9402 - mean_squared_error: 0.94 - ETA: 2s - loss: 0.9396 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9391 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9392 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9390 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9379 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9374 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9378 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9372 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9364 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9354 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9348 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9341 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9330 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9316 - mean_squared_error: 0.93 - ETA: 1s - loss: 0.9309 - mean_squared_error: 0.93 - ETA: 0s - loss: 0.9303 - mean_squared_error: 0.93 - ETA: 0s - loss: 0.9302 - mean_squared_error: 0.93 - ETA: 0s - loss: 0.9294 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9286 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9281 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9275 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9272 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9268 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9272 - mean_squared_error: 0.92 - 11s 2us/step - loss: 0.9269 - mean_squared_error: 0.9269\n",
      "Epoch 3/5\n",
      "5300554/5300554 [==============================] - ETA: 33s - loss: 0.8762 - mean_squared_error: 0.876 - ETA: 21s - loss: 0.8387 - mean_squared_error: 0.838 - ETA: 17s - loss: 0.8437 - mean_squared_error: 0.843 - ETA: 15s - loss: 0.8393 - mean_squared_error: 0.839 - ETA: 14s - loss: 0.8432 - mean_squared_error: 0.843 - ETA: 13s - loss: 0.8528 - mean_squared_error: 0.852 - ETA: 12s - loss: 0.8556 - mean_squared_error: 0.855 - ETA: 12s - loss: 0.8441 - mean_squared_error: 0.844 - ETA: 11s - loss: 0.8401 - mean_squared_error: 0.840 - ETA: 11s - loss: 0.8422 - mean_squared_error: 0.842 - ETA: 11s - loss: 0.8514 - mean_squared_error: 0.851 - ETA: 10s - loss: 0.8560 - mean_squared_error: 0.856 - ETA: 10s - loss: 0.8536 - mean_squared_error: 0.853 - ETA: 10s - loss: 0.8533 - mean_squared_error: 0.853 - ETA: 10s - loss: 0.8525 - mean_squared_error: 0.852 - ETA: 9s - loss: 0.8533 - mean_squared_error: 0.853 - ETA: 9s - loss: 0.8548 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8572 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8549 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8569 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8523 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8506 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8497 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8504 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8521 - mean_squared_error: 0.85 - ETA: 8s - loss: 0.8514 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8522 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8500 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8495 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8511 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8512 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8507 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8507 - mean_squared_error: 0.85 - ETA: 7s - loss: 0.8507 - mean_squared_error: 0.85 - ETA: 6s - loss: 0.8497 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8481 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8462 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8453 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8466 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8464 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8480 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8481 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8497 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8498 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8495 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8516 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8508 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8508 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8521 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8522 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8537 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8536 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8542 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8548 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8554 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8545 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8543 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8542 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8551 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8553 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8550 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8560 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8563 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8564 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8568 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8567 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8574 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8576 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8578 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8591 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8588 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8593 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8593 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8589 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8588 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8600 - mean_squared_error: 0.86 - ETA: 1s - loss: 0.8597 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8597 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8599 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8603 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8609 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8617 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8618 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8624 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8626 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8624 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8619 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8615 - mean_squared_error: 0.86 - 11s 2us/step - loss: 0.8611 - mean_squared_error: 0.8611\n",
      "Epoch 4/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5300554/5300554 [==============================] - ETA: 33s - loss: 0.8787 - mean_squared_error: 0.878 - ETA: 21s - loss: 0.8397 - mean_squared_error: 0.839 - ETA: 17s - loss: 0.8496 - mean_squared_error: 0.849 - ETA: 15s - loss: 0.8672 - mean_squared_error: 0.867 - ETA: 14s - loss: 0.8549 - mean_squared_error: 0.854 - ETA: 13s - loss: 0.8542 - mean_squared_error: 0.854 - ETA: 12s - loss: 0.8541 - mean_squared_error: 0.854 - ETA: 12s - loss: 0.8542 - mean_squared_error: 0.854 - ETA: 11s - loss: 0.8516 - mean_squared_error: 0.851 - ETA: 11s - loss: 0.8513 - mean_squared_error: 0.851 - ETA: 11s - loss: 0.8458 - mean_squared_error: 0.845 - ETA: 10s - loss: 0.8499 - mean_squared_error: 0.849 - ETA: 10s - loss: 0.8490 - mean_squared_error: 0.849 - ETA: 10s - loss: 0.8553 - mean_squared_error: 0.855 - ETA: 10s - loss: 0.8515 - mean_squared_error: 0.851 - ETA: 9s - loss: 0.8514 - mean_squared_error: 0.851 - ETA: 9s - loss: 0.8487 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8454 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8462 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8458 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8460 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8482 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8451 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8495 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8467 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8467 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8475 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8457 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8452 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8439 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8437 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8467 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8440 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8434 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8409 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8435 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8436 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8430 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8449 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8477 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8482 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8477 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8485 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8484 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8493 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8488 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8484 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8468 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8475 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8488 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8486 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8480 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8489 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8485 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8471 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8464 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8463 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8471 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8476 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8473 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8472 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8470 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8468 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8461 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8466 - mean_squared_error: 0.84 - 11s 2us/step - loss: 0.8463 - mean_squared_error: 0.8463\n",
      "Epoch 5/5\n",
      "5300554/5300554 [==============================] - ETA: 32s - loss: 0.9207 - mean_squared_error: 0.920 - ETA: 20s - loss: 0.8583 - mean_squared_error: 0.858 - ETA: 17s - loss: 0.8520 - mean_squared_error: 0.852 - ETA: 15s - loss: 0.8349 - mean_squared_error: 0.834 - ETA: 13s - loss: 0.8232 - mean_squared_error: 0.823 - ETA: 13s - loss: 0.8322 - mean_squared_error: 0.832 - ETA: 12s - loss: 0.8268 - mean_squared_error: 0.826 - ETA: 11s - loss: 0.8285 - mean_squared_error: 0.828 - ETA: 11s - loss: 0.8252 - mean_squared_error: 0.825 - ETA: 11s - loss: 0.8306 - mean_squared_error: 0.830 - ETA: 10s - loss: 0.8302 - mean_squared_error: 0.830 - ETA: 10s - loss: 0.8268 - mean_squared_error: 0.826 - ETA: 10s - loss: 0.8274 - mean_squared_error: 0.827 - ETA: 10s - loss: 0.8299 - mean_squared_error: 0.829 - ETA: 9s - loss: 0.8351 - mean_squared_error: 0.835 - ETA: 9s - loss: 0.8336 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8313 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8334 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8327 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8333 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8343 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8341 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8362 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8365 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8365 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8387 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8377 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8368 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8372 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8361 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8363 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8381 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8380 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8382 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8400 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8403 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8396 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8407 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8405 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8373 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8369 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8355 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8358 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8363 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8347 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8334 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8341 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8347 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8344 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8341 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8351 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8352 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8352 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8366 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8364 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8361 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8379 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8392 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8403 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8411 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8415 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8412 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8412 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8407 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8404 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8403 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8407 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8410 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8417 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8420 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8416 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8419 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8410 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8408 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8397 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8392 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8394 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8392 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8393 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8382 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8384 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8387 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8390 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8391 - mean_squared_error: 0.83 - 11s 2us/step - loss: 0.8388 - mean_squared_error: 0.8388\n",
      "224288/224288 [==============================] - ETA:  - ETA:  - 0s 1us/step\n",
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5524842/5524842 [==============================] - ETA: 59s - loss: 1.5498 - mean_squared_error: 1.549 - ETA: 35s - loss: 1.4734 - mean_squared_error: 1.473 - ETA: 26s - loss: 1.4854 - mean_squared_error: 1.485 - ETA: 22s - loss: 1.4951 - mean_squared_error: 1.495 - ETA: 19s - loss: 1.4999 - mean_squared_error: 1.499 - ETA: 18s - loss: 1.4693 - mean_squared_error: 1.469 - ETA: 16s - loss: 1.4535 - mean_squared_error: 1.453 - ETA: 15s - loss: 1.4594 - mean_squared_error: 1.459 - ETA: 14s - loss: 1.4510 - mean_squared_error: 1.451 - ETA: 14s - loss: 1.4465 - mean_squared_error: 1.446 - ETA: 13s - loss: 1.4417 - mean_squared_error: 1.441 - ETA: 13s - loss: 1.4372 - mean_squared_error: 1.437 - ETA: 12s - loss: 1.4340 - mean_squared_error: 1.434 - ETA: 12s - loss: 1.4271 - mean_squared_error: 1.427 - ETA: 12s - loss: 1.4274 - mean_squared_error: 1.427 - ETA: 11s - loss: 1.4190 - mean_squared_error: 1.419 - ETA: 11s - loss: 1.4094 - mean_squared_error: 1.409 - ETA: 11s - loss: 1.4085 - mean_squared_error: 1.408 - ETA: 10s - loss: 1.4038 - mean_squared_error: 1.403 - ETA: 10s - loss: 1.3960 - mean_squared_error: 1.396 - ETA: 10s - loss: 1.3946 - mean_squared_error: 1.394 - ETA: 10s - loss: 1.3953 - mean_squared_error: 1.395 - ETA: 10s - loss: 1.3917 - mean_squared_error: 1.391 - ETA: 9s - loss: 1.3869 - mean_squared_error: 1.386 - ETA: 9s - loss: 1.3812 - mean_squared_error: 1.38 - ETA: 9s - loss: 1.3757 - mean_squared_error: 1.37 - ETA: 9s - loss: 1.3690 - mean_squared_error: 1.36 - ETA: 9s - loss: 1.3670 - mean_squared_error: 1.36 - ETA: 8s - loss: 1.3622 - mean_squared_error: 1.36 - ETA: 8s - loss: 1.3573 - mean_squared_error: 1.35 - ETA: 8s - loss: 1.3516 - mean_squared_error: 1.35 - ETA: 8s - loss: 1.3483 - mean_squared_error: 1.34 - ETA: 8s - loss: 1.3424 - mean_squared_error: 1.34 - ETA: 8s - loss: 1.3395 - mean_squared_error: 1.33 - ETA: 8s - loss: 1.3370 - mean_squared_error: 1.33 - ETA: 7s - loss: 1.3329 - mean_squared_error: 1.33 - ETA: 7s - loss: 1.3277 - mean_squared_error: 1.32 - ETA: 7s - loss: 1.3239 - mean_squared_error: 1.32 - ETA: 7s - loss: 1.3197 - mean_squared_error: 1.31 - ETA: 7s - loss: 1.3172 - mean_squared_error: 1.31 - ETA: 7s - loss: 1.3127 - mean_squared_error: 1.31 - ETA: 7s - loss: 1.3093 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.3072 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.3025 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.3011 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.2968 - mean_squared_error: 1.29 - ETA: 6s - loss: 1.2936 - mean_squared_error: 1.29 - ETA: 6s - loss: 1.2904 - mean_squared_error: 1.29 - ETA: 6s - loss: 1.2872 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2856 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2824 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2788 - mean_squared_error: 1.27 - ETA: 5s - loss: 1.2751 - mean_squared_error: 1.27 - ETA: 5s - loss: 1.2731 - mean_squared_error: 1.27 - ETA: 5s - loss: 1.2705 - mean_squared_error: 1.27 - ETA: 5s - loss: 1.2679 - mean_squared_error: 1.26 - ETA: 5s - loss: 1.2649 - mean_squared_error: 1.26 - ETA: 4s - loss: 1.2621 - mean_squared_error: 1.26 - ETA: 4s - loss: 1.2582 - mean_squared_error: 1.25 - ETA: 4s - loss: 1.2562 - mean_squared_error: 1.25 - ETA: 4s - loss: 1.2536 - mean_squared_error: 1.25 - ETA: 4s - loss: 1.2517 - mean_squared_error: 1.25 - ETA: 4s - loss: 1.2503 - mean_squared_error: 1.25 - ETA: 4s - loss: 1.2480 - mean_squared_error: 1.24 - ETA: 4s - loss: 1.2465 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2432 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2413 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2385 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2367 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2349 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2335 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2324 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2311 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2303 - mean_squared_error: 1.23 - ETA: 2s - loss: 1.2279 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2251 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2224 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2199 - mean_squared_error: 1.21 - ETA: 2s - loss: 1.2185 - mean_squared_error: 1.21 - ETA: 2s - loss: 1.2162 - mean_squared_error: 1.21 - ETA: 2s - loss: 1.2141 - mean_squared_error: 1.21 - ETA: 2s - loss: 1.2121 - mean_squared_error: 1.21 - ETA: 1s - loss: 1.2112 - mean_squared_error: 1.21 - ETA: 1s - loss: 1.2091 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2070 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2051 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2034 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2014 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.1993 - mean_squared_error: 1.19 - ETA: 1s - loss: 1.1970 - mean_squared_error: 1.19 - ETA: 1s - loss: 1.1956 - mean_squared_error: 1.19 - ETA: 0s - loss: 1.1945 - mean_squared_error: 1.19 - ETA: 0s - loss: 1.1920 - mean_squared_error: 1.19 - ETA: 0s - loss: 1.1895 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1878 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1858 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1840 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1834 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1827 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1818 - mean_squared_error: 1.18 - 11s 2us/step - loss: 1.1819 - mean_squared_error: 1.1819\n",
      "Epoch 2/5\n",
      "5524842/5524842 [==============================] - ETA: 34s - loss: 0.9763 - mean_squared_error: 0.976 - ETA: 22s - loss: 0.9546 - mean_squared_error: 0.954 - ETA: 18s - loss: 0.9643 - mean_squared_error: 0.964 - ETA: 16s - loss: 0.9863 - mean_squared_error: 0.986 - ETA: 14s - loss: 0.9955 - mean_squared_error: 0.995 - ETA: 13s - loss: 0.9893 - mean_squared_error: 0.989 - ETA: 13s - loss: 0.9886 - mean_squared_error: 0.988 - ETA: 12s - loss: 0.9964 - mean_squared_error: 0.996 - ETA: 12s - loss: 0.9989 - mean_squared_error: 0.998 - ETA: 11s - loss: 0.9942 - mean_squared_error: 0.994 - ETA: 11s - loss: 0.9926 - mean_squared_error: 0.992 - ETA: 11s - loss: 0.9985 - mean_squared_error: 0.998 - ETA: 11s - loss: 1.0001 - mean_squared_error: 1.000 - ETA: 10s - loss: 0.9980 - mean_squared_error: 0.998 - ETA: 10s - loss: 0.9984 - mean_squared_error: 0.998 - ETA: 10s - loss: 0.9938 - mean_squared_error: 0.993 - ETA: 10s - loss: 0.9883 - mean_squared_error: 0.988 - ETA: 9s - loss: 0.9904 - mean_squared_error: 0.990 - ETA: 9s - loss: 0.9837 - mean_squared_error: 0.98 - ETA: 9s - loss: 0.9837 - mean_squared_error: 0.98 - ETA: 9s - loss: 0.9801 - mean_squared_error: 0.98 - ETA: 9s - loss: 0.9775 - mean_squared_error: 0.97 - ETA: 8s - loss: 0.9762 - mean_squared_error: 0.97 - ETA: 8s - loss: 0.9755 - mean_squared_error: 0.97 - ETA: 8s - loss: 0.9743 - mean_squared_error: 0.97 - ETA: 8s - loss: 0.9740 - mean_squared_error: 0.97 - ETA: 8s - loss: 0.9707 - mean_squared_error: 0.97 - ETA: 8s - loss: 0.9697 - mean_squared_error: 0.96 - ETA: 7s - loss: 0.9671 - mean_squared_error: 0.96 - ETA: 7s - loss: 0.9637 - mean_squared_error: 0.96 - ETA: 7s - loss: 0.9626 - mean_squared_error: 0.96 - ETA: 7s - loss: 0.9616 - mean_squared_error: 0.96 - ETA: 7s - loss: 0.9615 - mean_squared_error: 0.96 - ETA: 7s - loss: 0.9591 - mean_squared_error: 0.95 - ETA: 7s - loss: 0.9615 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9611 - mean_squared_error: 0.96 - ETA: 6s - loss: 0.9584 - mean_squared_error: 0.95 - ETA: 6s - loss: 0.9592 - mean_squared_error: 0.95 - ETA: 6s - loss: 0.9596 - mean_squared_error: 0.95 - ETA: 6s - loss: 0.9575 - mean_squared_error: 0.95 - ETA: 6s - loss: 0.9587 - mean_squared_error: 0.95 - ETA: 6s - loss: 0.9580 - mean_squared_error: 0.95 - ETA: 6s - loss: 0.9572 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9559 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9564 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9554 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9530 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9528 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9527 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9506 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9503 - mean_squared_error: 0.95 - ETA: 5s - loss: 0.9506 - mean_squared_error: 0.95 - ETA: 4s - loss: 0.9492 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9486 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9490 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9476 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9466 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9442 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9444 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9442 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9445 - mean_squared_error: 0.94 - ETA: 4s - loss: 0.9431 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9421 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9408 - mean_squared_error: 0.94 - ETA: 3s - loss: 0.9397 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9387 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9370 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9366 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9359 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9353 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9335 - mean_squared_error: 0.93 - ETA: 3s - loss: 0.9329 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9322 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9308 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9314 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9312 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9306 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9296 - mean_squared_error: 0.92 - ETA: 2s - loss: 0.9303 - mean_squared_error: 0.93 - ETA: 2s - loss: 0.9295 - mean_squared_error: 0.92 - ETA: 2s - loss: 0.9286 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9284 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9278 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9275 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9276 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9275 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9259 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9258 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9250 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9240 - mean_squared_error: 0.92 - ETA: 1s - loss: 0.9230 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9221 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9217 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9206 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9200 - mean_squared_error: 0.92 - ETA: 0s - loss: 0.9197 - mean_squared_error: 0.91 - ETA: 0s - loss: 0.9187 - mean_squared_error: 0.91 - ETA: 0s - loss: 0.9180 - mean_squared_error: 0.91 - ETA: 0s - loss: 0.9173 - mean_squared_error: 0.91 - ETA: 0s - loss: 0.9167 - mean_squared_error: 0.91 - 11s 2us/step - loss: 0.9163 - mean_squared_error: 0.9163\n",
      "Epoch 3/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5524842/5524842 [==============================] - ETA: 34s - loss: 0.8505 - mean_squared_error: 0.850 - ETA: 22s - loss: 0.8437 - mean_squared_error: 0.843 - ETA: 18s - loss: 0.8412 - mean_squared_error: 0.841 - ETA: 16s - loss: 0.8466 - mean_squared_error: 0.846 - ETA: 14s - loss: 0.8538 - mean_squared_error: 0.853 - ETA: 13s - loss: 0.8473 - mean_squared_error: 0.847 - ETA: 13s - loss: 0.8437 - mean_squared_error: 0.843 - ETA: 12s - loss: 0.8479 - mean_squared_error: 0.847 - ETA: 12s - loss: 0.8521 - mean_squared_error: 0.852 - ETA: 11s - loss: 0.8605 - mean_squared_error: 0.860 - ETA: 11s - loss: 0.8599 - mean_squared_error: 0.859 - ETA: 11s - loss: 0.8589 - mean_squared_error: 0.858 - ETA: 10s - loss: 0.8611 - mean_squared_error: 0.861 - ETA: 10s - loss: 0.8605 - mean_squared_error: 0.860 - ETA: 10s - loss: 0.8553 - mean_squared_error: 0.855 - ETA: 10s - loss: 0.8573 - mean_squared_error: 0.857 - ETA: 10s - loss: 0.8595 - mean_squared_error: 0.859 - ETA: 9s - loss: 0.8595 - mean_squared_error: 0.859 - ETA: 9s - loss: 0.8609 - mean_squared_error: 0.86 - ETA: 9s - loss: 0.8614 - mean_squared_error: 0.86 - ETA: 9s - loss: 0.8635 - mean_squared_error: 0.86 - ETA: 9s - loss: 0.8629 - mean_squared_error: 0.86 - ETA: 9s - loss: 0.8641 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8655 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8663 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8675 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8654 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8619 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8626 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8632 - mean_squared_error: 0.86 - ETA: 8s - loss: 0.8629 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8655 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8626 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8625 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8647 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8656 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8652 - mean_squared_error: 0.86 - ETA: 7s - loss: 0.8644 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8641 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8631 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8644 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8640 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8658 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8642 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8641 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8649 - mean_squared_error: 0.86 - ETA: 6s - loss: 0.8640 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8628 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8630 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8614 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8604 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8609 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8619 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8611 - mean_squared_error: 0.86 - ETA: 5s - loss: 0.8606 - mean_squared_error: 0.86 - ETA: 4s - loss: 0.8601 - mean_squared_error: 0.86 - ETA: 4s - loss: 0.8613 - mean_squared_error: 0.86 - ETA: 4s - loss: 0.8613 - mean_squared_error: 0.86 - ETA: 4s - loss: 0.8604 - mean_squared_error: 0.86 - ETA: 4s - loss: 0.8604 - mean_squared_error: 0.86 - ETA: 4s - loss: 0.8592 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8584 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8586 - mean_squared_error: 0.85 - ETA: 4s - loss: 0.8582 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8590 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8585 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8590 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8597 - mean_squared_error: 0.85 - ETA: 3s - loss: 0.8601 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8609 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8604 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8601 - mean_squared_error: 0.86 - ETA: 3s - loss: 0.8597 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8605 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8608 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8605 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8603 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8596 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8601 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8600 - mean_squared_error: 0.86 - ETA: 2s - loss: 0.8599 - mean_squared_error: 0.85 - ETA: 2s - loss: 0.8599 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8593 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8586 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8583 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8581 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8577 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8570 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8560 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8561 - mean_squared_error: 0.85 - ETA: 1s - loss: 0.8565 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8550 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8544 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8536 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8529 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8530 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8531 - mean_squared_error: 0.85 - ETA: 0s - loss: 0.8535 - mean_squared_error: 0.85 - 11s 2us/step - loss: 0.8535 - mean_squared_error: 0.8535\n",
      "Epoch 4/5\n",
      "5524842/5524842 [==============================] - ETA: 34s - loss: 0.8815 - mean_squared_error: 0.881 - ETA: 22s - loss: 0.8710 - mean_squared_error: 0.871 - ETA: 18s - loss: 0.8630 - mean_squared_error: 0.863 - ETA: 16s - loss: 0.8580 - mean_squared_error: 0.858 - ETA: 14s - loss: 0.8514 - mean_squared_error: 0.851 - ETA: 13s - loss: 0.8535 - mean_squared_error: 0.853 - ETA: 13s - loss: 0.8407 - mean_squared_error: 0.840 - ETA: 12s - loss: 0.8470 - mean_squared_error: 0.847 - ETA: 12s - loss: 0.8505 - mean_squared_error: 0.850 - ETA: 11s - loss: 0.8532 - mean_squared_error: 0.853 - ETA: 11s - loss: 0.8487 - mean_squared_error: 0.848 - ETA: 11s - loss: 0.8473 - mean_squared_error: 0.847 - ETA: 11s - loss: 0.8447 - mean_squared_error: 0.844 - ETA: 10s - loss: 0.8479 - mean_squared_error: 0.847 - ETA: 10s - loss: 0.8413 - mean_squared_error: 0.841 - ETA: 10s - loss: 0.8422 - mean_squared_error: 0.842 - ETA: 10s - loss: 0.8428 - mean_squared_error: 0.842 - ETA: 10s - loss: 0.8415 - mean_squared_error: 0.841 - ETA: 9s - loss: 0.8375 - mean_squared_error: 0.837 - ETA: 9s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8395 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8394 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8428 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8405 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8428 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8398 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8423 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8439 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8416 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8413 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8437 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8425 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8401 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8381 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8370 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8374 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8400 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8393 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8393 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8399 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8403 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8397 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8390 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8390 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8378 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8376 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8379 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8374 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8395 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8397 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8378 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8384 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8363 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8371 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8387 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8382 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8383 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8393 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8383 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8379 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8380 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8380 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8390 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8392 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8378 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8381 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8384 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8381 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8377 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8372 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8380 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8382 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8388 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8394 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8397 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8400 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8397 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8399 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8402 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8408 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8399 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8403 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8401 - mean_squared_error: 0.84 - ETA: 0s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8384 - mean_squared_error: 0.83 - 11s 2us/step - loss: 0.8388 - mean_squared_error: 0.8388\n",
      "Epoch 5/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5524842/5524842 [==============================] - ETA: 35s - loss: 0.8173 - mean_squared_error: 0.817 - ETA: 22s - loss: 0.7983 - mean_squared_error: 0.798 - ETA: 18s - loss: 0.8297 - mean_squared_error: 0.829 - ETA: 16s - loss: 0.8306 - mean_squared_error: 0.830 - ETA: 15s - loss: 0.8247 - mean_squared_error: 0.824 - ETA: 14s - loss: 0.8252 - mean_squared_error: 0.825 - ETA: 13s - loss: 0.8193 - mean_squared_error: 0.819 - ETA: 12s - loss: 0.8202 - mean_squared_error: 0.820 - ETA: 12s - loss: 0.8150 - mean_squared_error: 0.815 - ETA: 12s - loss: 0.8181 - mean_squared_error: 0.818 - ETA: 11s - loss: 0.8157 - mean_squared_error: 0.815 - ETA: 11s - loss: 0.8171 - mean_squared_error: 0.817 - ETA: 11s - loss: 0.8182 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8185 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8184 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8259 - mean_squared_error: 0.825 - ETA: 10s - loss: 0.8215 - mean_squared_error: 0.821 - ETA: 10s - loss: 0.8212 - mean_squared_error: 0.821 - ETA: 9s - loss: 0.8217 - mean_squared_error: 0.821 - ETA: 9s - loss: 0.8240 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8249 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8222 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8218 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8223 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8209 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8211 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8207 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8218 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8221 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8211 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8217 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8225 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8226 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8226 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8213 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8210 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8205 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8218 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8226 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8217 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8224 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8215 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8207 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8205 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8208 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8205 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8219 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8217 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8216 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8224 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8241 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8240 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8227 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8242 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8241 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8238 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8249 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8246 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8243 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8247 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8256 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8253 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8265 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8277 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8283 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8287 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8290 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8296 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8300 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8301 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8308 - mean_squared_error: 0.83 - 11s 2us/step - loss: 0.8311 - mean_squared_error: 0.8311\n",
      "228889/228889 [==============================] - ETA:  - ETA:  - 0s 1us/step\n",
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n",
      "5753731/5753731 [==============================] - ETA: 1:08 - loss: 1.5341 - mean_squared_error: 1.53 - ETA: 39s - loss: 1.5025 - mean_squared_error: 1.5025 - ETA: 29s - loss: 1.4579 - mean_squared_error: 1.457 - ETA: 24s - loss: 1.4620 - mean_squared_error: 1.462 - ETA: 21s - loss: 1.4431 - mean_squared_error: 1.443 - ETA: 19s - loss: 1.4491 - mean_squared_error: 1.449 - ETA: 18s - loss: 1.4415 - mean_squared_error: 1.441 - ETA: 17s - loss: 1.4455 - mean_squared_error: 1.445 - ETA: 16s - loss: 1.4250 - mean_squared_error: 1.425 - ETA: 15s - loss: 1.4341 - mean_squared_error: 1.434 - ETA: 14s - loss: 1.4191 - mean_squared_error: 1.419 - ETA: 14s - loss: 1.4174 - mean_squared_error: 1.417 - ETA: 13s - loss: 1.4119 - mean_squared_error: 1.411 - ETA: 13s - loss: 1.4040 - mean_squared_error: 1.404 - ETA: 13s - loss: 1.4009 - mean_squared_error: 1.400 - ETA: 12s - loss: 1.3965 - mean_squared_error: 1.396 - ETA: 12s - loss: 1.3911 - mean_squared_error: 1.391 - ETA: 12s - loss: 1.3889 - mean_squared_error: 1.388 - ETA: 11s - loss: 1.3826 - mean_squared_error: 1.382 - ETA: 11s - loss: 1.3748 - mean_squared_error: 1.374 - ETA: 11s - loss: 1.3741 - mean_squared_error: 1.374 - ETA: 11s - loss: 1.3677 - mean_squared_error: 1.367 - ETA: 10s - loss: 1.3606 - mean_squared_error: 1.360 - ETA: 10s - loss: 1.3560 - mean_squared_error: 1.356 - ETA: 10s - loss: 1.3524 - mean_squared_error: 1.352 - ETA: 10s - loss: 1.3477 - mean_squared_error: 1.347 - ETA: 10s - loss: 1.3435 - mean_squared_error: 1.343 - ETA: 9s - loss: 1.3363 - mean_squared_error: 1.336 - ETA: 9s - loss: 1.3316 - mean_squared_error: 1.33 - ETA: 9s - loss: 1.3252 - mean_squared_error: 1.32 - ETA: 9s - loss: 1.3195 - mean_squared_error: 1.31 - ETA: 9s - loss: 1.3139 - mean_squared_error: 1.31 - ETA: 9s - loss: 1.3094 - mean_squared_error: 1.30 - ETA: 8s - loss: 1.3047 - mean_squared_error: 1.30 - ETA: 8s - loss: 1.3022 - mean_squared_error: 1.30 - ETA: 8s - loss: 1.2980 - mean_squared_error: 1.29 - ETA: 8s - loss: 1.2945 - mean_squared_error: 1.29 - ETA: 8s - loss: 1.2888 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2863 - mean_squared_error: 1.28 - ETA: 7s - loss: 1.2826 - mean_squared_error: 1.28 - ETA: 7s - loss: 1.2799 - mean_squared_error: 1.27 - ETA: 7s - loss: 1.2763 - mean_squared_error: 1.27 - ETA: 7s - loss: 1.2723 - mean_squared_error: 1.27 - ETA: 7s - loss: 1.2721 - mean_squared_error: 1.27 - ETA: 7s - loss: 1.2708 - mean_squared_error: 1.27 - ETA: 7s - loss: 1.2677 - mean_squared_error: 1.26 - ETA: 6s - loss: 1.2634 - mean_squared_error: 1.26 - ETA: 6s - loss: 1.2605 - mean_squared_error: 1.26 - ETA: 6s - loss: 1.2583 - mean_squared_error: 1.25 - ETA: 6s - loss: 1.2565 - mean_squared_error: 1.25 - ETA: 6s - loss: 1.2543 - mean_squared_error: 1.25 - ETA: 6s - loss: 1.2509 - mean_squared_error: 1.25 - ETA: 6s - loss: 1.2490 - mean_squared_error: 1.24 - ETA: 6s - loss: 1.2465 - mean_squared_error: 1.24 - ETA: 5s - loss: 1.2431 - mean_squared_error: 1.24 - ETA: 5s - loss: 1.2410 - mean_squared_error: 1.24 - ETA: 5s - loss: 1.2379 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2357 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2336 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2309 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2296 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2270 - mean_squared_error: 1.22 - ETA: 4s - loss: 1.2244 - mean_squared_error: 1.22 - ETA: 4s - loss: 1.2236 - mean_squared_error: 1.22 - ETA: 4s - loss: 1.2226 - mean_squared_error: 1.22 - ETA: 4s - loss: 1.2222 - mean_squared_error: 1.22 - ETA: 4s - loss: 1.2212 - mean_squared_error: 1.22 - ETA: 4s - loss: 1.2195 - mean_squared_error: 1.21 - ETA: 4s - loss: 1.2170 - mean_squared_error: 1.21 - ETA: 4s - loss: 1.2155 - mean_squared_error: 1.21 - ETA: 3s - loss: 1.2138 - mean_squared_error: 1.21 - ETA: 3s - loss: 1.2117 - mean_squared_error: 1.21 - ETA: 3s - loss: 1.2080 - mean_squared_error: 1.20 - ETA: 3s - loss: 1.2057 - mean_squared_error: 1.20 - ETA: 3s - loss: 1.2030 - mean_squared_error: 1.20 - ETA: 3s - loss: 1.2018 - mean_squared_error: 1.20 - ETA: 3s - loss: 1.1998 - mean_squared_error: 1.19 - ETA: 3s - loss: 1.1977 - mean_squared_error: 1.19 - ETA: 2s - loss: 1.1959 - mean_squared_error: 1.19 - ETA: 2s - loss: 1.1929 - mean_squared_error: 1.19 - ETA: 2s - loss: 1.1911 - mean_squared_error: 1.19 - ETA: 2s - loss: 1.1890 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1871 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1855 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1841 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1831 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1809 - mean_squared_error: 1.18 - ETA: 1s - loss: 1.1786 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1766 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1751 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1730 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1727 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1713 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1702 - mean_squared_error: 1.17 - ETA: 1s - loss: 1.1680 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1664 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1659 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1649 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1638 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1623 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1613 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1609 - mean_squared_error: 1.16 - ETA: 0s - loss: 1.1590 - mean_squared_error: 1.15 - ETA: 0s - loss: 1.1568 - mean_squared_error: 1.15 - 12s 2us/step - loss: 1.1554 - mean_squared_error: 1.1554\n",
      "Epoch 2/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5753731/5753731 [==============================] - ETA: 39s - loss: 0.9501 - mean_squared_error: 0.950 - ETA: 25s - loss: 0.9854 - mean_squared_error: 0.985 - ETA: 20s - loss: 0.9906 - mean_squared_error: 0.990 - ETA: 18s - loss: 0.9720 - mean_squared_error: 0.972 - ETA: 16s - loss: 0.9660 - mean_squared_error: 0.966 - ETA: 15s - loss: 0.9751 - mean_squared_error: 0.975 - ETA: 14s - loss: 0.9823 - mean_squared_error: 0.982 - ETA: 14s - loss: 0.9706 - mean_squared_error: 0.970 - ETA: 13s - loss: 0.9608 - mean_squared_error: 0.960 - ETA: 13s - loss: 0.9670 - mean_squared_error: 0.967 - ETA: 12s - loss: 0.9667 - mean_squared_error: 0.966 - ETA: 12s - loss: 0.9681 - mean_squared_error: 0.968 - ETA: 12s - loss: 0.9629 - mean_squared_error: 0.962 - ETA: 11s - loss: 0.9607 - mean_squared_error: 0.960 - ETA: 11s - loss: 0.9543 - mean_squared_error: 0.954 - ETA: 11s - loss: 0.9582 - mean_squared_error: 0.958 - ETA: 11s - loss: 0.9545 - mean_squared_error: 0.954 - ETA: 10s - loss: 0.9549 - mean_squared_error: 0.954 - ETA: 10s - loss: 0.9498 - mean_squared_error: 0.949 - ETA: 10s - loss: 0.9476 - mean_squared_error: 0.947 - ETA: 10s - loss: 0.9496 - mean_squared_error: 0.949 - ETA: 10s - loss: 0.9485 - mean_squared_error: 0.948 - ETA: 9s - loss: 0.9514 - mean_squared_error: 0.951 - ETA: 9s - loss: 0.9495 - mean_squared_error: 0.94 - ETA: 9s - loss: 0.9523 - mean_squared_error: 0.95 - ETA: 9s - loss: 0.9519 - mean_squared_error: 0.95 - ETA: 9s - loss: 0.9491 - mean_squared_error: 0.94 - ETA: 9s - loss: 0.9487 - mean_squared_error: 0.94 - ETA: 9s - loss: 0.9471 - mean_squared_error: 0.94 - ETA: 8s - loss: 0.9458 - mean_squared_error: 0.94 - ETA: 8s - loss: 0.9418 - mean_squared_error: 0.94 - ETA: 8s - loss: 0.9404 - mean_squared_error: 0.94 - ETA: 8s - loss: 0.9362 - mean_squared_error: 0.93 - ETA: 8s - loss: 0.9365 - mean_squared_error: 0.93 - ETA: 8s - loss: 0.9361 - mean_squared_error: 0.93 - ETA: 8s - loss: 0.9370 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9350 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9347 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9324 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9319 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9318 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9317 - mean_squared_error: 0.93 - ETA: 7s - loss: 0.9319 - mean_squared_error: 0.93 - ETA: 6s - loss: 0.9304 - mean_squared_error: 0.93 - ETA: 6s - loss: 0.9292 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9287 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9279 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9260 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9251 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9232 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9225 - mean_squared_error: 0.92 - ETA: 6s - loss: 0.9220 - mean_squared_error: 0.92 - ETA: 5s - loss: 0.9203 - mean_squared_error: 0.92 - ETA: 5s - loss: 0.9199 - mean_squared_error: 0.91 - ETA: 5s - loss: 0.9197 - mean_squared_error: 0.91 - ETA: 5s - loss: 0.9184 - mean_squared_error: 0.91 - ETA: 5s - loss: 0.9175 - mean_squared_error: 0.91 - ETA: 5s - loss: 0.9171 - mean_squared_error: 0.91 - ETA: 5s - loss: 0.9169 - mean_squared_error: 0.91 - ETA: 5s - loss: 0.9155 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9151 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9137 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9125 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9123 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9112 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9096 - mean_squared_error: 0.90 - ETA: 4s - loss: 0.9099 - mean_squared_error: 0.90 - ETA: 4s - loss: 0.9100 - mean_squared_error: 0.91 - ETA: 4s - loss: 0.9088 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9076 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9079 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9070 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9076 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9072 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9065 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9053 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9043 - mean_squared_error: 0.90 - ETA: 3s - loss: 0.9032 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9034 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9029 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9028 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9027 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9022 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9015 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9009 - mean_squared_error: 0.90 - ETA: 2s - loss: 0.9014 - mean_squared_error: 0.90 - ETA: 1s - loss: 0.9003 - mean_squared_error: 0.90 - ETA: 1s - loss: 0.8991 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8986 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8985 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8977 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8974 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8970 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8964 - mean_squared_error: 0.89 - ETA: 1s - loss: 0.8960 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8948 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8940 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8936 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8926 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8912 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8906 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8900 - mean_squared_error: 0.89 - ETA: 0s - loss: 0.8895 - mean_squared_error: 0.88 - ETA: 0s - loss: 0.8894 - mean_squared_error: 0.88 - 12s 2us/step - loss: 0.8892 - mean_squared_error: 0.8892\n",
      "Epoch 3/5\n",
      "5753731/5753731 [==============================] - ETA: 41s - loss: 0.8557 - mean_squared_error: 0.855 - ETA: 26s - loss: 0.8877 - mean_squared_error: 0.887 - ETA: 21s - loss: 0.9083 - mean_squared_error: 0.908 - ETA: 18s - loss: 0.8843 - mean_squared_error: 0.884 - ETA: 16s - loss: 0.8755 - mean_squared_error: 0.875 - ETA: 15s - loss: 0.8745 - mean_squared_error: 0.874 - ETA: 14s - loss: 0.8768 - mean_squared_error: 0.876 - ETA: 14s - loss: 0.8708 - mean_squared_error: 0.870 - ETA: 13s - loss: 0.8742 - mean_squared_error: 0.874 - ETA: 13s - loss: 0.8814 - mean_squared_error: 0.881 - ETA: 12s - loss: 0.8708 - mean_squared_error: 0.870 - ETA: 12s - loss: 0.8702 - mean_squared_error: 0.870 - ETA: 12s - loss: 0.8660 - mean_squared_error: 0.866 - ETA: 11s - loss: 0.8757 - mean_squared_error: 0.875 - ETA: 11s - loss: 0.8712 - mean_squared_error: 0.871 - ETA: 11s - loss: 0.8720 - mean_squared_error: 0.872 - ETA: 11s - loss: 0.8668 - mean_squared_error: 0.866 - ETA: 10s - loss: 0.8643 - mean_squared_error: 0.864 - ETA: 10s - loss: 0.8643 - mean_squared_error: 0.864 - ETA: 10s - loss: 0.8607 - mean_squared_error: 0.860 - ETA: 10s - loss: 0.8622 - mean_squared_error: 0.862 - ETA: 10s - loss: 0.8594 - mean_squared_error: 0.859 - ETA: 9s - loss: 0.8587 - mean_squared_error: 0.858 - ETA: 9s - loss: 0.8564 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8567 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8548 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8521 - mean_squared_error: 0.85 - ETA: 9s - loss: 0.8499 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8490 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8490 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8493 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8485 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8483 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8484 - mean_squared_error: 0.84 - ETA: 8s - loss: 0.8478 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8474 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8494 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8486 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8469 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8455 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8455 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8449 - mean_squared_error: 0.84 - ETA: 7s - loss: 0.8439 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8459 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8462 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8480 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8465 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8457 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8449 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8456 - mean_squared_error: 0.84 - ETA: 6s - loss: 0.8442 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8437 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8448 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8441 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8431 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8431 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8433 - mean_squared_error: 0.84 - ETA: 5s - loss: 0.8430 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8443 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8444 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8447 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8446 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8457 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8449 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8445 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8436 - mean_squared_error: 0.84 - ETA: 4s - loss: 0.8426 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8425 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8427 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8425 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8414 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8411 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8404 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8407 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8409 - mean_squared_error: 0.84 - ETA: 3s - loss: 0.8413 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8407 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8399 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8395 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8395 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8400 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8407 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8400 - mean_squared_error: 0.84 - ETA: 2s - loss: 0.8404 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8402 - mean_squared_error: 0.84 - ETA: 1s - loss: 0.8396 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8394 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8392 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8386 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8385 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8387 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8396 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8391 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8384 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8376 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8370 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8370 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8365 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8360 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8356 - mean_squared_error: 0.83 - 12s 2us/step - loss: 0.8357 - mean_squared_error: 0.8357\n",
      "Epoch 4/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5753731/5753731 [==============================] - ETA: 39s - loss: 0.7718 - mean_squared_error: 0.771 - ETA: 25s - loss: 0.8053 - mean_squared_error: 0.805 - ETA: 20s - loss: 0.8058 - mean_squared_error: 0.805 - ETA: 17s - loss: 0.8052 - mean_squared_error: 0.805 - ETA: 16s - loss: 0.8202 - mean_squared_error: 0.820 - ETA: 15s - loss: 0.8087 - mean_squared_error: 0.808 - ETA: 14s - loss: 0.8132 - mean_squared_error: 0.813 - ETA: 13s - loss: 0.8142 - mean_squared_error: 0.814 - ETA: 13s - loss: 0.8189 - mean_squared_error: 0.818 - ETA: 12s - loss: 0.8195 - mean_squared_error: 0.819 - ETA: 12s - loss: 0.8156 - mean_squared_error: 0.815 - ETA: 12s - loss: 0.8175 - mean_squared_error: 0.817 - ETA: 11s - loss: 0.8202 - mean_squared_error: 0.820 - ETA: 11s - loss: 0.8232 - mean_squared_error: 0.823 - ETA: 11s - loss: 0.8243 - mean_squared_error: 0.824 - ETA: 11s - loss: 0.8265 - mean_squared_error: 0.826 - ETA: 10s - loss: 0.8342 - mean_squared_error: 0.834 - ETA: 10s - loss: 0.8310 - mean_squared_error: 0.831 - ETA: 10s - loss: 0.8312 - mean_squared_error: 0.831 - ETA: 10s - loss: 0.8289 - mean_squared_error: 0.828 - ETA: 10s - loss: 0.8302 - mean_squared_error: 0.830 - ETA: 9s - loss: 0.8287 - mean_squared_error: 0.828 - ETA: 9s - loss: 0.8322 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8318 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8291 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8321 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8307 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8264 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8281 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8260 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8256 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8248 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8248 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8255 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8246 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8223 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8230 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8249 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8261 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8267 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8279 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8270 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8263 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8262 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8271 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8276 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8279 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8274 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8264 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8259 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8259 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8269 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8269 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8266 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8279 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8266 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8257 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8261 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8252 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8253 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8247 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8242 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8244 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8244 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8246 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8250 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8242 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8246 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8242 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8246 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8240 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8241 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8227 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8224 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8238 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8240 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8241 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8238 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8244 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8240 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8243 - mean_squared_error: 0.82 - 12s 2us/step - loss: 0.8241 - mean_squared_error: 0.8241\n",
      "Epoch 5/5\n",
      "5753731/5753731 [==============================] - ETA: 37s - loss: 0.8269 - mean_squared_error: 0.826 - ETA: 24s - loss: 0.8279 - mean_squared_error: 0.827 - ETA: 19s - loss: 0.8127 - mean_squared_error: 0.812 - ETA: 17s - loss: 0.8165 - mean_squared_error: 0.816 - ETA: 15s - loss: 0.8330 - mean_squared_error: 0.833 - ETA: 14s - loss: 0.8464 - mean_squared_error: 0.846 - ETA: 14s - loss: 0.8469 - mean_squared_error: 0.846 - ETA: 13s - loss: 0.8467 - mean_squared_error: 0.846 - ETA: 13s - loss: 0.8393 - mean_squared_error: 0.839 - ETA: 12s - loss: 0.8313 - mean_squared_error: 0.831 - ETA: 12s - loss: 0.8245 - mean_squared_error: 0.824 - ETA: 12s - loss: 0.8158 - mean_squared_error: 0.815 - ETA: 11s - loss: 0.8126 - mean_squared_error: 0.812 - ETA: 11s - loss: 0.8131 - mean_squared_error: 0.813 - ETA: 11s - loss: 0.8164 - mean_squared_error: 0.816 - ETA: 11s - loss: 0.8145 - mean_squared_error: 0.814 - ETA: 10s - loss: 0.8200 - mean_squared_error: 0.820 - ETA: 10s - loss: 0.8158 - mean_squared_error: 0.815 - ETA: 10s - loss: 0.8126 - mean_squared_error: 0.812 - ETA: 10s - loss: 0.8137 - mean_squared_error: 0.813 - ETA: 10s - loss: 0.8136 - mean_squared_error: 0.813 - ETA: 9s - loss: 0.8114 - mean_squared_error: 0.811 - ETA: 9s - loss: 0.8122 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8092 - mean_squared_error: 0.80 - ETA: 9s - loss: 0.8118 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8125 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8114 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8111 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8127 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8114 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8118 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8123 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8129 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8128 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8160 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8167 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8161 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8180 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8188 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8181 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8193 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8199 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8209 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8200 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8191 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8181 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8187 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8177 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8163 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8141 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8145 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8165 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8163 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8168 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8182 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8183 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8173 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8157 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8163 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8164 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8163 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8179 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8183 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8186 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8184 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8183 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8185 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8176 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8180 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8181 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8183 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8186 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8183 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8185 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8186 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8185 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8190 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8191 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8180 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8166 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8165 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8171 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8171 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8172 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8168 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8172 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8178 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8180 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8178 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8176 - mean_squared_error: 0.81 - 12s 2us/step - loss: 0.8176 - mean_squared_error: 0.8176\n",
      "214536/214536 [==============================] - ETA:  - 0s 1us/step\n",
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5968267/5968267 [==============================] - ETA: 1:09 - loss: 1.5521 - mean_squared_error: 1.55 - ETA: 40s - loss: 1.4467 - mean_squared_error: 1.4467 - ETA: 30s - loss: 1.4609 - mean_squared_error: 1.460 - ETA: 25s - loss: 1.4673 - mean_squared_error: 1.467 - ETA: 22s - loss: 1.4409 - mean_squared_error: 1.440 - ETA: 20s - loss: 1.4454 - mean_squared_error: 1.445 - ETA: 18s - loss: 1.4413 - mean_squared_error: 1.441 - ETA: 17s - loss: 1.4297 - mean_squared_error: 1.429 - ETA: 16s - loss: 1.4286 - mean_squared_error: 1.428 - ETA: 16s - loss: 1.4199 - mean_squared_error: 1.419 - ETA: 15s - loss: 1.4231 - mean_squared_error: 1.423 - ETA: 14s - loss: 1.4170 - mean_squared_error: 1.417 - ETA: 14s - loss: 1.4126 - mean_squared_error: 1.412 - ETA: 13s - loss: 1.4100 - mean_squared_error: 1.410 - ETA: 13s - loss: 1.4055 - mean_squared_error: 1.405 - ETA: 13s - loss: 1.3936 - mean_squared_error: 1.393 - ETA: 12s - loss: 1.3845 - mean_squared_error: 1.384 - ETA: 12s - loss: 1.3754 - mean_squared_error: 1.375 - ETA: 12s - loss: 1.3676 - mean_squared_error: 1.367 - ETA: 12s - loss: 1.3626 - mean_squared_error: 1.362 - ETA: 11s - loss: 1.3549 - mean_squared_error: 1.354 - ETA: 11s - loss: 1.3491 - mean_squared_error: 1.349 - ETA: 11s - loss: 1.3433 - mean_squared_error: 1.343 - ETA: 11s - loss: 1.3432 - mean_squared_error: 1.343 - ETA: 10s - loss: 1.3368 - mean_squared_error: 1.336 - ETA: 10s - loss: 1.3291 - mean_squared_error: 1.329 - ETA: 10s - loss: 1.3254 - mean_squared_error: 1.325 - ETA: 10s - loss: 1.3200 - mean_squared_error: 1.320 - ETA: 10s - loss: 1.3197 - mean_squared_error: 1.319 - ETA: 9s - loss: 1.3135 - mean_squared_error: 1.313 - ETA: 9s - loss: 1.3087 - mean_squared_error: 1.30 - ETA: 9s - loss: 1.3041 - mean_squared_error: 1.30 - ETA: 9s - loss: 1.3017 - mean_squared_error: 1.30 - ETA: 9s - loss: 1.2956 - mean_squared_error: 1.29 - ETA: 9s - loss: 1.2930 - mean_squared_error: 1.29 - ETA: 8s - loss: 1.2895 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2859 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2819 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2771 - mean_squared_error: 1.27 - ETA: 8s - loss: 1.2737 - mean_squared_error: 1.27 - ETA: 8s - loss: 1.2671 - mean_squared_error: 1.26 - ETA: 8s - loss: 1.2620 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2611 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2578 - mean_squared_error: 1.25 - ETA: 7s - loss: 1.2541 - mean_squared_error: 1.25 - ETA: 7s - loss: 1.2502 - mean_squared_error: 1.25 - ETA: 7s - loss: 1.2468 - mean_squared_error: 1.24 - ETA: 7s - loss: 1.2441 - mean_squared_error: 1.24 - ETA: 7s - loss: 1.2407 - mean_squared_error: 1.24 - ETA: 7s - loss: 1.2375 - mean_squared_error: 1.23 - ETA: 6s - loss: 1.2370 - mean_squared_error: 1.23 - ETA: 6s - loss: 1.2345 - mean_squared_error: 1.23 - ETA: 6s - loss: 1.2316 - mean_squared_error: 1.23 - ETA: 6s - loss: 1.2297 - mean_squared_error: 1.22 - ETA: 6s - loss: 1.2275 - mean_squared_error: 1.22 - ETA: 6s - loss: 1.2239 - mean_squared_error: 1.22 - ETA: 6s - loss: 1.2211 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2183 - mean_squared_error: 1.21 - ETA: 5s - loss: 1.2161 - mean_squared_error: 1.21 - ETA: 5s - loss: 1.2132 - mean_squared_error: 1.21 - ETA: 5s - loss: 1.2112 - mean_squared_error: 1.21 - ETA: 5s - loss: 1.2095 - mean_squared_error: 1.20 - ETA: 5s - loss: 1.2065 - mean_squared_error: 1.20 - ETA: 5s - loss: 1.2032 - mean_squared_error: 1.20 - ETA: 5s - loss: 1.2032 - mean_squared_error: 1.20 - ETA: 5s - loss: 1.2018 - mean_squared_error: 1.20 - ETA: 4s - loss: 1.2002 - mean_squared_error: 1.20 - ETA: 4s - loss: 1.1985 - mean_squared_error: 1.19 - ETA: 4s - loss: 1.1961 - mean_squared_error: 1.19 - ETA: 4s - loss: 1.1932 - mean_squared_error: 1.19 - ETA: 4s - loss: 1.1923 - mean_squared_error: 1.19 - ETA: 4s - loss: 1.1908 - mean_squared_error: 1.19 - ETA: 4s - loss: 1.1894 - mean_squared_error: 1.18 - ETA: 4s - loss: 1.1872 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1846 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1831 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1813 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1791 - mean_squared_error: 1.17 - ETA: 3s - loss: 1.1778 - mean_squared_error: 1.17 - ETA: 3s - loss: 1.1751 - mean_squared_error: 1.17 - ETA: 3s - loss: 1.1727 - mean_squared_error: 1.17 - ETA: 3s - loss: 1.1711 - mean_squared_error: 1.17 - ETA: 2s - loss: 1.1685 - mean_squared_error: 1.16 - ETA: 2s - loss: 1.1667 - mean_squared_error: 1.16 - ETA: 2s - loss: 1.1650 - mean_squared_error: 1.16 - ETA: 2s - loss: 1.1625 - mean_squared_error: 1.16 - ETA: 2s - loss: 1.1602 - mean_squared_error: 1.16 - ETA: 2s - loss: 1.1585 - mean_squared_error: 1.15 - ETA: 2s - loss: 1.1566 - mean_squared_error: 1.15 - ETA: 2s - loss: 1.1539 - mean_squared_error: 1.15 - ETA: 2s - loss: 1.1529 - mean_squared_error: 1.15 - ETA: 1s - loss: 1.1515 - mean_squared_error: 1.15 - ETA: 1s - loss: 1.1498 - mean_squared_error: 1.14 - ETA: 1s - loss: 1.1473 - mean_squared_error: 1.14 - ETA: 1s - loss: 1.1448 - mean_squared_error: 1.14 - ETA: 1s - loss: 1.1431 - mean_squared_error: 1.14 - ETA: 1s - loss: 1.1417 - mean_squared_error: 1.14 - ETA: 1s - loss: 1.1394 - mean_squared_error: 1.13 - ETA: 1s - loss: 1.1372 - mean_squared_error: 1.13 - ETA: 0s - loss: 1.1354 - mean_squared_error: 1.13 - ETA: 0s - loss: 1.1335 - mean_squared_error: 1.13 - ETA: 0s - loss: 1.1319 - mean_squared_error: 1.13 - ETA: 0s - loss: 1.1306 - mean_squared_error: 1.13 - ETA: 0s - loss: 1.1291 - mean_squared_error: 1.12 - ETA: 0s - loss: 1.1264 - mean_squared_error: 1.12 - ETA: 0s - loss: 1.1247 - mean_squared_error: 1.12 - ETA: 0s - loss: 1.1233 - mean_squared_error: 1.12 - ETA: 0s - loss: 1.1213 - mean_squared_error: 1.12 - 12s 2us/step - loss: 1.1207 - mean_squared_error: 1.1207\n",
      "Epoch 2/5\n",
      "5968267/5968267 [==============================] - ETA: 40s - loss: 0.9202 - mean_squared_error: 0.920 - ETA: 25s - loss: 0.9215 - mean_squared_error: 0.921 - ETA: 20s - loss: 0.9254 - mean_squared_error: 0.925 - ETA: 18s - loss: 0.9262 - mean_squared_error: 0.926 - ETA: 16s - loss: 0.9188 - mean_squared_error: 0.918 - ETA: 15s - loss: 0.9298 - mean_squared_error: 0.929 - ETA: 14s - loss: 0.9428 - mean_squared_error: 0.942 - ETA: 14s - loss: 0.9366 - mean_squared_error: 0.936 - ETA: 13s - loss: 0.9330 - mean_squared_error: 0.933 - ETA: 13s - loss: 0.9326 - mean_squared_error: 0.932 - ETA: 12s - loss: 0.9282 - mean_squared_error: 0.928 - ETA: 12s - loss: 0.9296 - mean_squared_error: 0.929 - ETA: 12s - loss: 0.9319 - mean_squared_error: 0.931 - ETA: 12s - loss: 0.9286 - mean_squared_error: 0.928 - ETA: 11s - loss: 0.9246 - mean_squared_error: 0.924 - ETA: 11s - loss: 0.9220 - mean_squared_error: 0.922 - ETA: 11s - loss: 0.9156 - mean_squared_error: 0.915 - ETA: 11s - loss: 0.9118 - mean_squared_error: 0.911 - ETA: 11s - loss: 0.9095 - mean_squared_error: 0.909 - ETA: 10s - loss: 0.9056 - mean_squared_error: 0.905 - ETA: 10s - loss: 0.9080 - mean_squared_error: 0.908 - ETA: 10s - loss: 0.9079 - mean_squared_error: 0.907 - ETA: 10s - loss: 0.9061 - mean_squared_error: 0.906 - ETA: 10s - loss: 0.9035 - mean_squared_error: 0.903 - ETA: 10s - loss: 0.9026 - mean_squared_error: 0.902 - ETA: 9s - loss: 0.9046 - mean_squared_error: 0.904 - ETA: 9s - loss: 0.9043 - mean_squared_error: 0.90 - ETA: 9s - loss: 0.9036 - mean_squared_error: 0.90 - ETA: 9s - loss: 0.9023 - mean_squared_error: 0.90 - ETA: 9s - loss: 0.9013 - mean_squared_error: 0.90 - ETA: 9s - loss: 0.9019 - mean_squared_error: 0.90 - ETA: 8s - loss: 0.9005 - mean_squared_error: 0.90 - ETA: 8s - loss: 0.8997 - mean_squared_error: 0.89 - ETA: 8s - loss: 0.8984 - mean_squared_error: 0.89 - ETA: 8s - loss: 0.8976 - mean_squared_error: 0.89 - ETA: 8s - loss: 0.8976 - mean_squared_error: 0.89 - ETA: 8s - loss: 0.8994 - mean_squared_error: 0.89 - ETA: 8s - loss: 0.8995 - mean_squared_error: 0.89 - ETA: 8s - loss: 0.9007 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.8993 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.9002 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.8991 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8994 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8980 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8980 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8987 - mean_squared_error: 0.89 - ETA: 7s - loss: 0.8982 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8971 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8965 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8964 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8945 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8953 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8941 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8939 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8941 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8938 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8935 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8912 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8906 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8907 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8894 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8901 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8889 - mean_squared_error: 0.88 - ETA: 5s - loss: 0.8880 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8871 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8862 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8857 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8851 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8836 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8823 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8822 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8823 - mean_squared_error: 0.88 - ETA: 4s - loss: 0.8818 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8822 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8829 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8826 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8817 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8815 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8812 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8814 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8818 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8808 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8804 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8791 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8782 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8778 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8774 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8760 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8755 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8747 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8742 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8732 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8724 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8713 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8712 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8711 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8711 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8708 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8706 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8702 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8697 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8691 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8683 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8680 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8679 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8676 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8674 - mean_squared_error: 0.86 - ETA: 0s - loss: 0.8667 - mean_squared_error: 0.86 - 12s 2us/step - loss: 0.8665 - mean_squared_error: 0.8665\n",
      "Epoch 3/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5968267/5968267 [==============================] - ETA: 40s - loss: 0.8235 - mean_squared_error: 0.823 - ETA: 25s - loss: 0.8398 - mean_squared_error: 0.839 - ETA: 20s - loss: 0.8071 - mean_squared_error: 0.807 - ETA: 18s - loss: 0.8221 - mean_squared_error: 0.822 - ETA: 16s - loss: 0.8181 - mean_squared_error: 0.818 - ETA: 15s - loss: 0.8316 - mean_squared_error: 0.831 - ETA: 14s - loss: 0.8306 - mean_squared_error: 0.830 - ETA: 14s - loss: 0.8334 - mean_squared_error: 0.833 - ETA: 13s - loss: 0.8339 - mean_squared_error: 0.833 - ETA: 13s - loss: 0.8319 - mean_squared_error: 0.831 - ETA: 13s - loss: 0.8335 - mean_squared_error: 0.833 - ETA: 12s - loss: 0.8342 - mean_squared_error: 0.834 - ETA: 12s - loss: 0.8367 - mean_squared_error: 0.836 - ETA: 12s - loss: 0.8339 - mean_squared_error: 0.833 - ETA: 11s - loss: 0.8310 - mean_squared_error: 0.831 - ETA: 11s - loss: 0.8341 - mean_squared_error: 0.834 - ETA: 11s - loss: 0.8331 - mean_squared_error: 0.833 - ETA: 11s - loss: 0.8348 - mean_squared_error: 0.834 - ETA: 10s - loss: 0.8353 - mean_squared_error: 0.835 - ETA: 10s - loss: 0.8363 - mean_squared_error: 0.836 - ETA: 10s - loss: 0.8353 - mean_squared_error: 0.835 - ETA: 10s - loss: 0.8305 - mean_squared_error: 0.830 - ETA: 10s - loss: 0.8333 - mean_squared_error: 0.833 - ETA: 10s - loss: 0.8322 - mean_squared_error: 0.832 - ETA: 9s - loss: 0.8287 - mean_squared_error: 0.828 - ETA: 9s - loss: 0.8311 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8339 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8336 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8330 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8319 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8308 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8311 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8322 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8314 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8321 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8307 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8314 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8311 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8313 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8317 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8296 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8292 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8318 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8326 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8327 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8322 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8312 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8316 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8298 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8314 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8326 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8317 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8328 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8321 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8313 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8303 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8303 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8303 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8301 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8311 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8296 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8288 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8291 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8287 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8281 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8283 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8287 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8290 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8286 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8279 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8281 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8271 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8285 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8288 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8283 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8288 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8288 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8288 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8286 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8288 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8286 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8280 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8268 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8265 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8266 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8263 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8270 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8273 - mean_squared_error: 0.82 - 12s 2us/step - loss: 0.8267 - mean_squared_error: 0.8267\n",
      "Epoch 4/5\n",
      "5968267/5968267 [==============================] - ETA: 40s - loss: 0.8152 - mean_squared_error: 0.815 - ETA: 25s - loss: 0.8320 - mean_squared_error: 0.832 - ETA: 20s - loss: 0.8379 - mean_squared_error: 0.837 - ETA: 18s - loss: 0.8318 - mean_squared_error: 0.831 - ETA: 16s - loss: 0.8164 - mean_squared_error: 0.816 - ETA: 15s - loss: 0.8068 - mean_squared_error: 0.806 - ETA: 14s - loss: 0.8096 - mean_squared_error: 0.809 - ETA: 14s - loss: 0.8202 - mean_squared_error: 0.820 - ETA: 13s - loss: 0.8218 - mean_squared_error: 0.821 - ETA: 13s - loss: 0.8263 - mean_squared_error: 0.826 - ETA: 12s - loss: 0.8219 - mean_squared_error: 0.821 - ETA: 12s - loss: 0.8246 - mean_squared_error: 0.824 - ETA: 12s - loss: 0.8320 - mean_squared_error: 0.832 - ETA: 12s - loss: 0.8347 - mean_squared_error: 0.834 - ETA: 11s - loss: 0.8302 - mean_squared_error: 0.830 - ETA: 11s - loss: 0.8253 - mean_squared_error: 0.825 - ETA: 11s - loss: 0.8271 - mean_squared_error: 0.827 - ETA: 11s - loss: 0.8262 - mean_squared_error: 0.826 - ETA: 10s - loss: 0.8294 - mean_squared_error: 0.829 - ETA: 10s - loss: 0.8295 - mean_squared_error: 0.829 - ETA: 10s - loss: 0.8292 - mean_squared_error: 0.829 - ETA: 10s - loss: 0.8307 - mean_squared_error: 0.830 - ETA: 10s - loss: 0.8295 - mean_squared_error: 0.829 - ETA: 10s - loss: 0.8298 - mean_squared_error: 0.829 - ETA: 9s - loss: 0.8264 - mean_squared_error: 0.826 - ETA: 9s - loss: 0.8253 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8296 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8299 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8286 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8269 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8278 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8257 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8244 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8241 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8242 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8243 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8238 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8225 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8222 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8217 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8224 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8219 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8217 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8227 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8212 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8208 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8210 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8216 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8206 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8214 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8202 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8207 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8220 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8220 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8211 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8202 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8196 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8198 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8210 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8206 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8222 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8209 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8205 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8195 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8191 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8196 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8197 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8195 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8184 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8179 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8177 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8182 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8179 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8173 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8177 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8177 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8178 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8174 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8174 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8178 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8186 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8184 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8172 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8172 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8177 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8187 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8185 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8181 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8180 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8178 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8173 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8173 - mean_squared_error: 0.81 - 12s 2us/step - loss: 0.8168 - mean_squared_error: 0.8168\n",
      "Epoch 5/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5968267/5968267 [==============================] - ETA: 40s - loss: 0.8154 - mean_squared_error: 0.815 - ETA: 25s - loss: 0.7971 - mean_squared_error: 0.797 - ETA: 20s - loss: 0.7826 - mean_squared_error: 0.782 - ETA: 18s - loss: 0.7912 - mean_squared_error: 0.791 - ETA: 17s - loss: 0.7993 - mean_squared_error: 0.799 - ETA: 16s - loss: 0.8011 - mean_squared_error: 0.801 - ETA: 15s - loss: 0.8099 - mean_squared_error: 0.809 - ETA: 14s - loss: 0.8149 - mean_squared_error: 0.814 - ETA: 14s - loss: 0.8207 - mean_squared_error: 0.820 - ETA: 13s - loss: 0.8286 - mean_squared_error: 0.828 - ETA: 13s - loss: 0.8277 - mean_squared_error: 0.827 - ETA: 12s - loss: 0.8345 - mean_squared_error: 0.834 - ETA: 12s - loss: 0.8376 - mean_squared_error: 0.837 - ETA: 12s - loss: 0.8304 - mean_squared_error: 0.830 - ETA: 12s - loss: 0.8278 - mean_squared_error: 0.827 - ETA: 11s - loss: 0.8265 - mean_squared_error: 0.826 - ETA: 11s - loss: 0.8264 - mean_squared_error: 0.826 - ETA: 11s - loss: 0.8263 - mean_squared_error: 0.826 - ETA: 11s - loss: 0.8294 - mean_squared_error: 0.829 - ETA: 10s - loss: 0.8256 - mean_squared_error: 0.825 - ETA: 10s - loss: 0.8267 - mean_squared_error: 0.826 - ETA: 10s - loss: 0.8258 - mean_squared_error: 0.825 - ETA: 10s - loss: 0.8246 - mean_squared_error: 0.824 - ETA: 10s - loss: 0.8242 - mean_squared_error: 0.824 - ETA: 10s - loss: 0.8227 - mean_squared_error: 0.822 - ETA: 9s - loss: 0.8231 - mean_squared_error: 0.823 - ETA: 9s - loss: 0.8228 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8214 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8215 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8212 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8201 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8184 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8166 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8112 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8108 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8111 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8126 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8124 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8120 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8102 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8116 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8140 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8143 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8138 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8143 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8145 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8140 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8144 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8142 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8146 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8146 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8159 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8154 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8152 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8154 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8157 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8158 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8152 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8152 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8150 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8147 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8157 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8140 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8141 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8142 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8128 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8127 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8120 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8120 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8119 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8112 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8105 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8108 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8106 - mean_squared_error: 0.81 - 12s 2us/step - loss: 0.8106 - mean_squared_error: 0.8106\n",
      "218655/218655 [==============================] - ETA:  - ETA:  - 0s 1us/step\n",
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n",
      "6186922/6186922 [==============================] - ETA: 1:19 - loss: 1.4291 - mean_squared_error: 1.42 - ETA: 45s - loss: 1.4443 - mean_squared_error: 1.4443 - ETA: 34s - loss: 1.4627 - mean_squared_error: 1.462 - ETA: 28s - loss: 1.4465 - mean_squared_error: 1.446 - ETA: 24s - loss: 1.4359 - mean_squared_error: 1.435 - ETA: 22s - loss: 1.4359 - mean_squared_error: 1.435 - ETA: 20s - loss: 1.4229 - mean_squared_error: 1.422 - ETA: 19s - loss: 1.4223 - mean_squared_error: 1.422 - ETA: 18s - loss: 1.4090 - mean_squared_error: 1.409 - ETA: 17s - loss: 1.4092 - mean_squared_error: 1.409 - ETA: 16s - loss: 1.4108 - mean_squared_error: 1.410 - ETA: 16s - loss: 1.3940 - mean_squared_error: 1.394 - ETA: 15s - loss: 1.3965 - mean_squared_error: 1.396 - ETA: 15s - loss: 1.3994 - mean_squared_error: 1.399 - ETA: 14s - loss: 1.3896 - mean_squared_error: 1.389 - ETA: 14s - loss: 1.3931 - mean_squared_error: 1.393 - ETA: 13s - loss: 1.3857 - mean_squared_error: 1.385 - ETA: 13s - loss: 1.3792 - mean_squared_error: 1.379 - ETA: 13s - loss: 1.3774 - mean_squared_error: 1.377 - ETA: 12s - loss: 1.3738 - mean_squared_error: 1.373 - ETA: 12s - loss: 1.3711 - mean_squared_error: 1.371 - ETA: 12s - loss: 1.3647 - mean_squared_error: 1.364 - ETA: 12s - loss: 1.3573 - mean_squared_error: 1.357 - ETA: 11s - loss: 1.3571 - mean_squared_error: 1.357 - ETA: 11s - loss: 1.3541 - mean_squared_error: 1.354 - ETA: 11s - loss: 1.3496 - mean_squared_error: 1.349 - ETA: 11s - loss: 1.3424 - mean_squared_error: 1.342 - ETA: 11s - loss: 1.3413 - mean_squared_error: 1.341 - ETA: 10s - loss: 1.3331 - mean_squared_error: 1.333 - ETA: 10s - loss: 1.3285 - mean_squared_error: 1.328 - ETA: 10s - loss: 1.3238 - mean_squared_error: 1.323 - ETA: 10s - loss: 1.3212 - mean_squared_error: 1.321 - ETA: 10s - loss: 1.3187 - mean_squared_error: 1.318 - ETA: 10s - loss: 1.3156 - mean_squared_error: 1.315 - ETA: 9s - loss: 1.3114 - mean_squared_error: 1.311 - ETA: 9s - loss: 1.3071 - mean_squared_error: 1.30 - ETA: 9s - loss: 1.3047 - mean_squared_error: 1.30 - ETA: 9s - loss: 1.3015 - mean_squared_error: 1.30 - ETA: 9s - loss: 1.2997 - mean_squared_error: 1.29 - ETA: 9s - loss: 1.2964 - mean_squared_error: 1.29 - ETA: 8s - loss: 1.2928 - mean_squared_error: 1.29 - ETA: 8s - loss: 1.2890 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2864 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2804 - mean_squared_error: 1.28 - ETA: 8s - loss: 1.2773 - mean_squared_error: 1.27 - ETA: 8s - loss: 1.2751 - mean_squared_error: 1.27 - ETA: 8s - loss: 1.2723 - mean_squared_error: 1.27 - ETA: 7s - loss: 1.2692 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2672 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2654 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2634 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2625 - mean_squared_error: 1.26 - ETA: 7s - loss: 1.2594 - mean_squared_error: 1.25 - ETA: 7s - loss: 1.2570 - mean_squared_error: 1.25 - ETA: 7s - loss: 1.2527 - mean_squared_error: 1.25 - ETA: 6s - loss: 1.2492 - mean_squared_error: 1.24 - ETA: 6s - loss: 1.2468 - mean_squared_error: 1.24 - ETA: 6s - loss: 1.2440 - mean_squared_error: 1.24 - ETA: 6s - loss: 1.2406 - mean_squared_error: 1.24 - ETA: 6s - loss: 1.2381 - mean_squared_error: 1.23 - ETA: 6s - loss: 1.2366 - mean_squared_error: 1.23 - ETA: 6s - loss: 1.2350 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2340 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2320 - mean_squared_error: 1.23 - ETA: 5s - loss: 1.2291 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2277 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2257 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2225 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2201 - mean_squared_error: 1.22 - ETA: 5s - loss: 1.2175 - mean_squared_error: 1.21 - ETA: 4s - loss: 1.2152 - mean_squared_error: 1.21 - ETA: 4s - loss: 1.2137 - mean_squared_error: 1.21 - ETA: 4s - loss: 1.2108 - mean_squared_error: 1.21 - ETA: 4s - loss: 1.2083 - mean_squared_error: 1.20 - ETA: 4s - loss: 1.2058 - mean_squared_error: 1.20 - ETA: 4s - loss: 1.2036 - mean_squared_error: 1.20 - ETA: 4s - loss: 1.2020 - mean_squared_error: 1.20 - ETA: 4s - loss: 1.1992 - mean_squared_error: 1.19 - ETA: 3s - loss: 1.1984 - mean_squared_error: 1.19 - ETA: 3s - loss: 1.1960 - mean_squared_error: 1.19 - ETA: 3s - loss: 1.1926 - mean_squared_error: 1.19 - ETA: 3s - loss: 1.1909 - mean_squared_error: 1.19 - ETA: 3s - loss: 1.1884 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1873 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1850 - mean_squared_error: 1.18 - ETA: 3s - loss: 1.1837 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1833 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1808 - mean_squared_error: 1.18 - ETA: 2s - loss: 1.1787 - mean_squared_error: 1.17 - ETA: 2s - loss: 1.1769 - mean_squared_error: 1.17 - ETA: 2s - loss: 1.1753 - mean_squared_error: 1.17 - ETA: 2s - loss: 1.1731 - mean_squared_error: 1.17 - ETA: 2s - loss: 1.1720 - mean_squared_error: 1.17 - ETA: 2s - loss: 1.1697 - mean_squared_error: 1.16 - ETA: 2s - loss: 1.1675 - mean_squared_error: 1.16 - ETA: 1s - loss: 1.1667 - mean_squared_error: 1.16 - ETA: 1s - loss: 1.1646 - mean_squared_error: 1.16 - ETA: 1s - loss: 1.1621 - mean_squared_error: 1.16 - ETA: 1s - loss: 1.1606 - mean_squared_error: 1.16 - ETA: 1s - loss: 1.1592 - mean_squared_error: 1.15 - ETA: 1s - loss: 1.1576 - mean_squared_error: 1.15 - ETA: 1s - loss: 1.1562 - mean_squared_error: 1.15 - ETA: 1s - loss: 1.1541 - mean_squared_error: 1.15 - ETA: 0s - loss: 1.1523 - mean_squared_error: 1.15 - ETA: 0s - loss: 1.1501 - mean_squared_error: 1.15 - ETA: 0s - loss: 1.1491 - mean_squared_error: 1.14 - ETA: 0s - loss: 1.1471 - mean_squared_error: 1.14 - ETA: 0s - loss: 1.1450 - mean_squared_error: 1.14 - ETA: 0s - loss: 1.1426 - mean_squared_error: 1.14 - ETA: 0s - loss: 1.1412 - mean_squared_error: 1.14 - ETA: 0s - loss: 1.1401 - mean_squared_error: 1.14 - ETA: 0s - loss: 1.1390 - mean_squared_error: 1.13 - 13s 2us/step - loss: 1.1381 - mean_squared_error: 1.1381\n",
      "Epoch 2/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6186922/6186922 [==============================] - ETA: 43s - loss: 0.9624 - mean_squared_error: 0.962 - ETA: 27s - loss: 0.9708 - mean_squared_error: 0.970 - ETA: 22s - loss: 0.9698 - mean_squared_error: 0.969 - ETA: 19s - loss: 0.9705 - mean_squared_error: 0.970 - ETA: 17s - loss: 0.9577 - mean_squared_error: 0.957 - ETA: 16s - loss: 0.9630 - mean_squared_error: 0.963 - ETA: 15s - loss: 0.9625 - mean_squared_error: 0.962 - ETA: 15s - loss: 0.9614 - mean_squared_error: 0.961 - ETA: 14s - loss: 0.9614 - mean_squared_error: 0.961 - ETA: 14s - loss: 0.9559 - mean_squared_error: 0.955 - ETA: 13s - loss: 0.9462 - mean_squared_error: 0.946 - ETA: 13s - loss: 0.9390 - mean_squared_error: 0.939 - ETA: 13s - loss: 0.9412 - mean_squared_error: 0.941 - ETA: 12s - loss: 0.9364 - mean_squared_error: 0.936 - ETA: 12s - loss: 0.9378 - mean_squared_error: 0.937 - ETA: 12s - loss: 0.9367 - mean_squared_error: 0.936 - ETA: 12s - loss: 0.9341 - mean_squared_error: 0.934 - ETA: 11s - loss: 0.9303 - mean_squared_error: 0.930 - ETA: 11s - loss: 0.9299 - mean_squared_error: 0.929 - ETA: 11s - loss: 0.9259 - mean_squared_error: 0.925 - ETA: 11s - loss: 0.9283 - mean_squared_error: 0.928 - ETA: 11s - loss: 0.9223 - mean_squared_error: 0.922 - ETA: 10s - loss: 0.9211 - mean_squared_error: 0.921 - ETA: 10s - loss: 0.9250 - mean_squared_error: 0.925 - ETA: 10s - loss: 0.9208 - mean_squared_error: 0.920 - ETA: 10s - loss: 0.9219 - mean_squared_error: 0.921 - ETA: 10s - loss: 0.9238 - mean_squared_error: 0.923 - ETA: 10s - loss: 0.9250 - mean_squared_error: 0.925 - ETA: 9s - loss: 0.9236 - mean_squared_error: 0.923 - ETA: 9s - loss: 0.9219 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9201 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9206 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9199 - mean_squared_error: 0.91 - ETA: 9s - loss: 0.9176 - mean_squared_error: 0.91 - ETA: 9s - loss: 0.9172 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9162 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9162 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9143 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9124 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9101 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9094 - mean_squared_error: 0.90 - ETA: 8s - loss: 0.9089 - mean_squared_error: 0.90 - ETA: 8s - loss: 0.9065 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9052 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9035 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9018 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9018 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9034 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9024 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9016 - mean_squared_error: 0.90 - ETA: 7s - loss: 0.9012 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9013 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9004 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9003 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9006 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9007 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9003 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.8989 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8992 - mean_squared_error: 0.89 - ETA: 6s - loss: 0.8972 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8957 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8951 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8947 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8943 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8943 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8943 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8942 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8947 - mean_squared_error: 0.89 - ETA: 5s - loss: 0.8940 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8940 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8935 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8928 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8918 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8925 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8914 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8906 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8892 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8893 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8885 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8884 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8865 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8853 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8854 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8847 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8845 - mean_squared_error: 0.88 - ETA: 3s - loss: 0.8838 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8829 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8820 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8808 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8799 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8796 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8789 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8787 - mean_squared_error: 0.87 - ETA: 2s - loss: 0.8780 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8785 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8782 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8786 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8780 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8783 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8776 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8772 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8769 - mean_squared_error: 0.87 - ETA: 1s - loss: 0.8765 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8760 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8753 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8753 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8754 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8752 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8752 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8750 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8746 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8737 - mean_squared_error: 0.87 - 13s 2us/step - loss: 0.8741 - mean_squared_error: 0.8741\n",
      "Epoch 3/5\n",
      "6186922/6186922 [==============================] - ETA: 45s - loss: 0.7983 - mean_squared_error: 0.798 - ETA: 28s - loss: 0.8119 - mean_squared_error: 0.811 - ETA: 22s - loss: 0.8320 - mean_squared_error: 0.832 - ETA: 19s - loss: 0.8452 - mean_squared_error: 0.845 - ETA: 18s - loss: 0.8352 - mean_squared_error: 0.835 - ETA: 16s - loss: 0.8355 - mean_squared_error: 0.835 - ETA: 16s - loss: 0.8417 - mean_squared_error: 0.841 - ETA: 15s - loss: 0.8473 - mean_squared_error: 0.847 - ETA: 14s - loss: 0.8489 - mean_squared_error: 0.848 - ETA: 14s - loss: 0.8603 - mean_squared_error: 0.860 - ETA: 13s - loss: 0.8575 - mean_squared_error: 0.857 - ETA: 13s - loss: 0.8560 - mean_squared_error: 0.856 - ETA: 13s - loss: 0.8571 - mean_squared_error: 0.857 - ETA: 12s - loss: 0.8541 - mean_squared_error: 0.854 - ETA: 12s - loss: 0.8539 - mean_squared_error: 0.853 - ETA: 12s - loss: 0.8535 - mean_squared_error: 0.853 - ETA: 12s - loss: 0.8538 - mean_squared_error: 0.853 - ETA: 12s - loss: 0.8520 - mean_squared_error: 0.852 - ETA: 11s - loss: 0.8500 - mean_squared_error: 0.850 - ETA: 11s - loss: 0.8491 - mean_squared_error: 0.849 - ETA: 11s - loss: 0.8490 - mean_squared_error: 0.849 - ETA: 11s - loss: 0.8467 - mean_squared_error: 0.846 - ETA: 11s - loss: 0.8472 - mean_squared_error: 0.847 - ETA: 10s - loss: 0.8451 - mean_squared_error: 0.845 - ETA: 10s - loss: 0.8460 - mean_squared_error: 0.846 - ETA: 10s - loss: 0.8425 - mean_squared_error: 0.842 - ETA: 10s - loss: 0.8417 - mean_squared_error: 0.841 - ETA: 10s - loss: 0.8412 - mean_squared_error: 0.841 - ETA: 10s - loss: 0.8397 - mean_squared_error: 0.839 - ETA: 9s - loss: 0.8430 - mean_squared_error: 0.843 - ETA: 9s - loss: 0.8404 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8391 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8389 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8400 - mean_squared_error: 0.84 - ETA: 9s - loss: 0.8393 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8382 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8366 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8365 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8356 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8343 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8339 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8330 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8319 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8325 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8323 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8316 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8320 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8296 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8294 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8292 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8291 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8287 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8292 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8295 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8307 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8312 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8314 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8301 - mean_squared_error: 0.83 - ETA: 5s - loss: 0.8298 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8287 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8299 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8301 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8303 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8314 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8321 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8331 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8331 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8333 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8333 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8325 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8323 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8319 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8315 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8308 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8316 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8313 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8315 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8317 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8312 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8300 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8300 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8307 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8304 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8304 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8314 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8312 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8313 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8301 - mean_squared_error: 0.83 - 13s 2us/step - loss: 0.8299 - mean_squared_error: 0.8299\n",
      "Epoch 4/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6186922/6186922 [==============================] - ETA: 52s - loss: 0.8208 - mean_squared_error: 0.820 - ETA: 32s - loss: 0.8291 - mean_squared_error: 0.829 - ETA: 25s - loss: 0.8043 - mean_squared_error: 0.804 - ETA: 21s - loss: 0.8231 - mean_squared_error: 0.823 - ETA: 19s - loss: 0.8237 - mean_squared_error: 0.823 - ETA: 18s - loss: 0.8208 - mean_squared_error: 0.820 - ETA: 16s - loss: 0.8121 - mean_squared_error: 0.812 - ETA: 16s - loss: 0.8154 - mean_squared_error: 0.815 - ETA: 15s - loss: 0.8216 - mean_squared_error: 0.821 - ETA: 14s - loss: 0.8306 - mean_squared_error: 0.830 - ETA: 14s - loss: 0.8318 - mean_squared_error: 0.831 - ETA: 13s - loss: 0.8318 - mean_squared_error: 0.831 - ETA: 13s - loss: 0.8282 - mean_squared_error: 0.828 - ETA: 13s - loss: 0.8275 - mean_squared_error: 0.827 - ETA: 12s - loss: 0.8235 - mean_squared_error: 0.823 - ETA: 12s - loss: 0.8199 - mean_squared_error: 0.819 - ETA: 12s - loss: 0.8176 - mean_squared_error: 0.817 - ETA: 11s - loss: 0.8182 - mean_squared_error: 0.818 - ETA: 11s - loss: 0.8178 - mean_squared_error: 0.817 - ETA: 11s - loss: 0.8204 - mean_squared_error: 0.820 - ETA: 11s - loss: 0.8184 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8188 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8165 - mean_squared_error: 0.816 - ETA: 10s - loss: 0.8173 - mean_squared_error: 0.817 - ETA: 10s - loss: 0.8160 - mean_squared_error: 0.816 - ETA: 10s - loss: 0.8172 - mean_squared_error: 0.817 - ETA: 10s - loss: 0.8151 - mean_squared_error: 0.815 - ETA: 10s - loss: 0.8165 - mean_squared_error: 0.816 - ETA: 10s - loss: 0.8180 - mean_squared_error: 0.818 - ETA: 9s - loss: 0.8186 - mean_squared_error: 0.818 - ETA: 9s - loss: 0.8192 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8215 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8210 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8197 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8228 - mean_squared_error: 0.82 - ETA: 9s - loss: 0.8247 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8245 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8257 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8250 - mean_squared_error: 0.82 - ETA: 8s - loss: 0.8256 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8260 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8261 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8261 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8259 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8254 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8255 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8262 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8248 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8243 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8225 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8218 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8221 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8216 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8209 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8221 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8235 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8228 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8236 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8238 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8228 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8232 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8226 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8224 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8225 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8225 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8219 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8215 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8207 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8208 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8214 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8211 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8213 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8208 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8211 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8207 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8203 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8203 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8204 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8203 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8203 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8197 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8194 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8194 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8195 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8200 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8207 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8202 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8199 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8203 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8202 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8196 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8199 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8194 - mean_squared_error: 0.81 - 13s 2us/step - loss: 0.8192 - mean_squared_error: 0.8192\n",
      "Epoch 5/5\n",
      "6186922/6186922 [==============================] - ETA: 45s - loss: 0.7562 - mean_squared_error: 0.756 - ETA: 28s - loss: 0.7599 - mean_squared_error: 0.759 - ETA: 22s - loss: 0.7802 - mean_squared_error: 0.780 - ETA: 19s - loss: 0.7952 - mean_squared_error: 0.795 - ETA: 18s - loss: 0.7965 - mean_squared_error: 0.796 - ETA: 16s - loss: 0.8037 - mean_squared_error: 0.803 - ETA: 15s - loss: 0.8021 - mean_squared_error: 0.802 - ETA: 15s - loss: 0.8052 - mean_squared_error: 0.805 - ETA: 14s - loss: 0.8043 - mean_squared_error: 0.804 - ETA: 14s - loss: 0.8035 - mean_squared_error: 0.803 - ETA: 13s - loss: 0.8067 - mean_squared_error: 0.806 - ETA: 13s - loss: 0.8045 - mean_squared_error: 0.804 - ETA: 13s - loss: 0.8140 - mean_squared_error: 0.814 - ETA: 12s - loss: 0.8107 - mean_squared_error: 0.810 - ETA: 12s - loss: 0.8097 - mean_squared_error: 0.809 - ETA: 12s - loss: 0.8139 - mean_squared_error: 0.813 - ETA: 12s - loss: 0.8121 - mean_squared_error: 0.812 - ETA: 11s - loss: 0.8118 - mean_squared_error: 0.811 - ETA: 11s - loss: 0.8129 - mean_squared_error: 0.812 - ETA: 11s - loss: 0.8136 - mean_squared_error: 0.813 - ETA: 11s - loss: 0.8151 - mean_squared_error: 0.815 - ETA: 11s - loss: 0.8140 - mean_squared_error: 0.814 - ETA: 10s - loss: 0.8153 - mean_squared_error: 0.815 - ETA: 10s - loss: 0.8117 - mean_squared_error: 0.811 - ETA: 10s - loss: 0.8107 - mean_squared_error: 0.810 - ETA: 10s - loss: 0.8103 - mean_squared_error: 0.810 - ETA: 10s - loss: 0.8077 - mean_squared_error: 0.807 - ETA: 10s - loss: 0.8058 - mean_squared_error: 0.805 - ETA: 10s - loss: 0.8084 - mean_squared_error: 0.808 - ETA: 9s - loss: 0.8085 - mean_squared_error: 0.808 - ETA: 9s - loss: 0.8096 - mean_squared_error: 0.80 - ETA: 9s - loss: 0.8079 - mean_squared_error: 0.80 - ETA: 9s - loss: 0.8078 - mean_squared_error: 0.80 - ETA: 9s - loss: 0.8077 - mean_squared_error: 0.80 - ETA: 9s - loss: 0.8064 - mean_squared_error: 0.80 - ETA: 9s - loss: 0.8052 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8050 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8055 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8064 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8076 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8080 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8099 - mean_squared_error: 0.80 - ETA: 8s - loss: 0.8113 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8109 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8122 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8121 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8125 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8130 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8128 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8128 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8117 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8125 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8123 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8121 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8118 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8126 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8141 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8158 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8159 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8166 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8159 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8146 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8138 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8127 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8126 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8117 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8112 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8115 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8113 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8118 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8114 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8113 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8114 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8113 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8113 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8120 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8119 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8117 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8124 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8126 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8130 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8133 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8126 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8128 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8125 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8125 - mean_squared_error: 0.81 - 13s 2us/step - loss: 0.8126 - mean_squared_error: 0.8126\n",
      "238172/238172 [==============================] - ETA:  - ETA:  - 0s 1us/step\n",
      "Training Model 1: lightgbm\n",
      "Training Model 2: keras\n",
      "Epoch 1/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6425094/6425094 [==============================] - ETA: 1:23 - loss: 1.4996 - mean_squared_error: 1.49 - ETA: 47s - loss: 1.5095 - mean_squared_error: 1.5095 - ETA: 35s - loss: 1.5131 - mean_squared_error: 1.513 - ETA: 29s - loss: 1.5089 - mean_squared_error: 1.508 - ETA: 25s - loss: 1.5260 - mean_squared_error: 1.526 - ETA: 23s - loss: 1.5182 - mean_squared_error: 1.518 - ETA: 21s - loss: 1.5091 - mean_squared_error: 1.509 - ETA: 20s - loss: 1.5099 - mean_squared_error: 1.509 - ETA: 19s - loss: 1.4993 - mean_squared_error: 1.499 - ETA: 18s - loss: 1.4986 - mean_squared_error: 1.498 - ETA: 17s - loss: 1.5034 - mean_squared_error: 1.503 - ETA: 16s - loss: 1.4915 - mean_squared_error: 1.491 - ETA: 16s - loss: 1.4931 - mean_squared_error: 1.493 - ETA: 15s - loss: 1.4788 - mean_squared_error: 1.478 - ETA: 15s - loss: 1.4782 - mean_squared_error: 1.478 - ETA: 14s - loss: 1.4779 - mean_squared_error: 1.477 - ETA: 14s - loss: 1.4754 - mean_squared_error: 1.475 - ETA: 14s - loss: 1.4716 - mean_squared_error: 1.471 - ETA: 13s - loss: 1.4669 - mean_squared_error: 1.466 - ETA: 13s - loss: 1.4661 - mean_squared_error: 1.466 - ETA: 13s - loss: 1.4667 - mean_squared_error: 1.466 - ETA: 12s - loss: 1.4599 - mean_squared_error: 1.459 - ETA: 12s - loss: 1.4514 - mean_squared_error: 1.451 - ETA: 12s - loss: 1.4503 - mean_squared_error: 1.450 - ETA: 12s - loss: 1.4499 - mean_squared_error: 1.449 - ETA: 12s - loss: 1.4453 - mean_squared_error: 1.445 - ETA: 11s - loss: 1.4419 - mean_squared_error: 1.441 - ETA: 11s - loss: 1.4385 - mean_squared_error: 1.438 - ETA: 11s - loss: 1.4345 - mean_squared_error: 1.434 - ETA: 11s - loss: 1.4312 - mean_squared_error: 1.431 - ETA: 11s - loss: 1.4242 - mean_squared_error: 1.424 - ETA: 10s - loss: 1.4183 - mean_squared_error: 1.418 - ETA: 10s - loss: 1.4160 - mean_squared_error: 1.416 - ETA: 10s - loss: 1.4110 - mean_squared_error: 1.411 - ETA: 10s - loss: 1.4091 - mean_squared_error: 1.409 - ETA: 10s - loss: 1.4039 - mean_squared_error: 1.403 - ETA: 10s - loss: 1.4021 - mean_squared_error: 1.402 - ETA: 9s - loss: 1.3952 - mean_squared_error: 1.395 - ETA: 9s - loss: 1.3911 - mean_squared_error: 1.39 - ETA: 9s - loss: 1.3870 - mean_squared_error: 1.38 - ETA: 9s - loss: 1.3818 - mean_squared_error: 1.38 - ETA: 9s - loss: 1.3780 - mean_squared_error: 1.37 - ETA: 9s - loss: 1.3722 - mean_squared_error: 1.37 - ETA: 8s - loss: 1.3686 - mean_squared_error: 1.36 - ETA: 8s - loss: 1.3641 - mean_squared_error: 1.36 - ETA: 8s - loss: 1.3602 - mean_squared_error: 1.36 - ETA: 8s - loss: 1.3577 - mean_squared_error: 1.35 - ETA: 8s - loss: 1.3534 - mean_squared_error: 1.35 - ETA: 8s - loss: 1.3488 - mean_squared_error: 1.34 - ETA: 8s - loss: 1.3458 - mean_squared_error: 1.34 - ETA: 8s - loss: 1.3416 - mean_squared_error: 1.34 - ETA: 7s - loss: 1.3379 - mean_squared_error: 1.33 - ETA: 7s - loss: 1.3348 - mean_squared_error: 1.33 - ETA: 7s - loss: 1.3325 - mean_squared_error: 1.33 - ETA: 7s - loss: 1.3283 - mean_squared_error: 1.32 - ETA: 7s - loss: 1.3248 - mean_squared_error: 1.32 - ETA: 7s - loss: 1.3221 - mean_squared_error: 1.32 - ETA: 7s - loss: 1.3185 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3163 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3135 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3110 - mean_squared_error: 1.31 - ETA: 6s - loss: 1.3083 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.3043 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.3014 - mean_squared_error: 1.30 - ETA: 6s - loss: 1.2985 - mean_squared_error: 1.29 - ETA: 6s - loss: 1.2953 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2928 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2902 - mean_squared_error: 1.29 - ETA: 5s - loss: 1.2879 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2856 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2825 - mean_squared_error: 1.28 - ETA: 5s - loss: 1.2790 - mean_squared_error: 1.27 - ETA: 5s - loss: 1.2764 - mean_squared_error: 1.27 - ETA: 5s - loss: 1.2739 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2730 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2713 - mean_squared_error: 1.27 - ETA: 4s - loss: 1.2691 - mean_squared_error: 1.26 - ETA: 4s - loss: 1.2657 - mean_squared_error: 1.26 - ETA: 4s - loss: 1.2625 - mean_squared_error: 1.26 - ETA: 4s - loss: 1.2603 - mean_squared_error: 1.26 - ETA: 4s - loss: 1.2589 - mean_squared_error: 1.25 - ETA: 4s - loss: 1.2570 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2551 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2533 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2508 - mean_squared_error: 1.25 - ETA: 3s - loss: 1.2477 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2443 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2425 - mean_squared_error: 1.24 - ETA: 3s - loss: 1.2397 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2366 - mean_squared_error: 1.23 - ETA: 3s - loss: 1.2346 - mean_squared_error: 1.23 - ETA: 2s - loss: 1.2323 - mean_squared_error: 1.23 - ETA: 2s - loss: 1.2313 - mean_squared_error: 1.23 - ETA: 2s - loss: 1.2288 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2269 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2246 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2222 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2205 - mean_squared_error: 1.22 - ETA: 2s - loss: 1.2180 - mean_squared_error: 1.21 - ETA: 1s - loss: 1.2154 - mean_squared_error: 1.21 - ETA: 1s - loss: 1.2121 - mean_squared_error: 1.21 - ETA: 1s - loss: 1.2089 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2070 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2050 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.2018 - mean_squared_error: 1.20 - ETA: 1s - loss: 1.1995 - mean_squared_error: 1.19 - ETA: 1s - loss: 1.1976 - mean_squared_error: 1.19 - ETA: 1s - loss: 1.1949 - mean_squared_error: 1.19 - ETA: 0s - loss: 1.1925 - mean_squared_error: 1.19 - ETA: 0s - loss: 1.1908 - mean_squared_error: 1.19 - ETA: 0s - loss: 1.1885 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1870 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1849 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1832 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1817 - mean_squared_error: 1.18 - ETA: 0s - loss: 1.1799 - mean_squared_error: 1.17 - 14s 2us/step - loss: 1.1780 - mean_squared_error: 1.1780\n",
      "Epoch 2/5\n",
      "6425094/6425094 [==============================] - ETA: 46s - loss: 1.0049 - mean_squared_error: 1.004 - ETA: 29s - loss: 1.0010 - mean_squared_error: 1.001 - ETA: 23s - loss: 0.9898 - mean_squared_error: 0.989 - ETA: 20s - loss: 1.0064 - mean_squared_error: 1.006 - ETA: 18s - loss: 0.9910 - mean_squared_error: 0.991 - ETA: 17s - loss: 0.9929 - mean_squared_error: 0.992 - ETA: 16s - loss: 0.9895 - mean_squared_error: 0.989 - ETA: 15s - loss: 0.9848 - mean_squared_error: 0.984 - ETA: 15s - loss: 0.9903 - mean_squared_error: 0.990 - ETA: 14s - loss: 0.9806 - mean_squared_error: 0.980 - ETA: 14s - loss: 0.9861 - mean_squared_error: 0.986 - ETA: 14s - loss: 0.9843 - mean_squared_error: 0.984 - ETA: 13s - loss: 0.9838 - mean_squared_error: 0.983 - ETA: 13s - loss: 0.9796 - mean_squared_error: 0.979 - ETA: 13s - loss: 0.9791 - mean_squared_error: 0.979 - ETA: 13s - loss: 0.9781 - mean_squared_error: 0.978 - ETA: 12s - loss: 0.9727 - mean_squared_error: 0.972 - ETA: 12s - loss: 0.9673 - mean_squared_error: 0.967 - ETA: 12s - loss: 0.9647 - mean_squared_error: 0.964 - ETA: 12s - loss: 0.9607 - mean_squared_error: 0.960 - ETA: 11s - loss: 0.9604 - mean_squared_error: 0.960 - ETA: 11s - loss: 0.9557 - mean_squared_error: 0.955 - ETA: 11s - loss: 0.9563 - mean_squared_error: 0.956 - ETA: 11s - loss: 0.9545 - mean_squared_error: 0.954 - ETA: 11s - loss: 0.9512 - mean_squared_error: 0.951 - ETA: 11s - loss: 0.9506 - mean_squared_error: 0.950 - ETA: 10s - loss: 0.9504 - mean_squared_error: 0.950 - ETA: 10s - loss: 0.9482 - mean_squared_error: 0.948 - ETA: 10s - loss: 0.9454 - mean_squared_error: 0.945 - ETA: 10s - loss: 0.9422 - mean_squared_error: 0.942 - ETA: 10s - loss: 0.9388 - mean_squared_error: 0.938 - ETA: 10s - loss: 0.9354 - mean_squared_error: 0.935 - ETA: 9s - loss: 0.9317 - mean_squared_error: 0.931 - ETA: 9s - loss: 0.9302 - mean_squared_error: 0.93 - ETA: 9s - loss: 0.9278 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9262 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9254 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9242 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9236 - mean_squared_error: 0.92 - ETA: 9s - loss: 0.9216 - mean_squared_error: 0.92 - ETA: 8s - loss: 0.9224 - mean_squared_error: 0.92 - ETA: 8s - loss: 0.9209 - mean_squared_error: 0.92 - ETA: 8s - loss: 0.9197 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9190 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9194 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9183 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9169 - mean_squared_error: 0.91 - ETA: 8s - loss: 0.9167 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9169 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9154 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9148 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9127 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9132 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9119 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9110 - mean_squared_error: 0.91 - ETA: 7s - loss: 0.9118 - mean_squared_error: 0.91 - ETA: 6s - loss: 0.9123 - mean_squared_error: 0.91 - ETA: 6s - loss: 0.9115 - mean_squared_error: 0.91 - ETA: 6s - loss: 0.9102 - mean_squared_error: 0.91 - ETA: 6s - loss: 0.9079 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9080 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9071 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9061 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9048 - mean_squared_error: 0.90 - ETA: 6s - loss: 0.9042 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9042 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9040 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9033 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9030 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9019 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9018 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9011 - mean_squared_error: 0.90 - ETA: 5s - loss: 0.9009 - mean_squared_error: 0.90 - ETA: 4s - loss: 0.9004 - mean_squared_error: 0.90 - ETA: 4s - loss: 0.8986 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8981 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8986 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8984 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8977 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8972 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8963 - mean_squared_error: 0.89 - ETA: 4s - loss: 0.8959 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8953 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8956 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8959 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8956 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8955 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8949 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8939 - mean_squared_error: 0.89 - ETA: 3s - loss: 0.8930 - mean_squared_error: 0.89 - ETA: 2s - loss: 0.8921 - mean_squared_error: 0.89 - ETA: 2s - loss: 0.8914 - mean_squared_error: 0.89 - ETA: 2s - loss: 0.8906 - mean_squared_error: 0.89 - ETA: 2s - loss: 0.8901 - mean_squared_error: 0.89 - ETA: 2s - loss: 0.8891 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8894 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8887 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8887 - mean_squared_error: 0.88 - ETA: 2s - loss: 0.8875 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8869 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8868 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8858 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8855 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8851 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8848 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8843 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8834 - mean_squared_error: 0.88 - ETA: 1s - loss: 0.8830 - mean_squared_error: 0.88 - ETA: 0s - loss: 0.8824 - mean_squared_error: 0.88 - ETA: 0s - loss: 0.8816 - mean_squared_error: 0.88 - ETA: 0s - loss: 0.8809 - mean_squared_error: 0.88 - ETA: 0s - loss: 0.8795 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8786 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8782 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8788 - mean_squared_error: 0.87 - ETA: 0s - loss: 0.8785 - mean_squared_error: 0.87 - 13s 2us/step - loss: 0.8778 - mean_squared_error: 0.8778\n",
      "Epoch 3/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6425094/6425094 [==============================] - ETA: 49s - loss: 0.8150 - mean_squared_error: 0.815 - ETA: 30s - loss: 0.7976 - mean_squared_error: 0.797 - ETA: 24s - loss: 0.8118 - mean_squared_error: 0.811 - ETA: 21s - loss: 0.8004 - mean_squared_error: 0.800 - ETA: 19s - loss: 0.8055 - mean_squared_error: 0.805 - ETA: 18s - loss: 0.8102 - mean_squared_error: 0.810 - ETA: 17s - loss: 0.8154 - mean_squared_error: 0.815 - ETA: 16s - loss: 0.8175 - mean_squared_error: 0.817 - ETA: 15s - loss: 0.8226 - mean_squared_error: 0.822 - ETA: 15s - loss: 0.8195 - mean_squared_error: 0.819 - ETA: 14s - loss: 0.8263 - mean_squared_error: 0.826 - ETA: 14s - loss: 0.8249 - mean_squared_error: 0.824 - ETA: 13s - loss: 0.8244 - mean_squared_error: 0.824 - ETA: 13s - loss: 0.8291 - mean_squared_error: 0.829 - ETA: 13s - loss: 0.8288 - mean_squared_error: 0.828 - ETA: 13s - loss: 0.8270 - mean_squared_error: 0.827 - ETA: 12s - loss: 0.8305 - mean_squared_error: 0.830 - ETA: 12s - loss: 0.8332 - mean_squared_error: 0.833 - ETA: 12s - loss: 0.8360 - mean_squared_error: 0.836 - ETA: 12s - loss: 0.8337 - mean_squared_error: 0.833 - ETA: 12s - loss: 0.8325 - mean_squared_error: 0.832 - ETA: 11s - loss: 0.8332 - mean_squared_error: 0.833 - ETA: 11s - loss: 0.8338 - mean_squared_error: 0.833 - ETA: 11s - loss: 0.8329 - mean_squared_error: 0.832 - ETA: 11s - loss: 0.8353 - mean_squared_error: 0.835 - ETA: 11s - loss: 0.8367 - mean_squared_error: 0.836 - ETA: 11s - loss: 0.8368 - mean_squared_error: 0.836 - ETA: 10s - loss: 0.8363 - mean_squared_error: 0.836 - ETA: 10s - loss: 0.8329 - mean_squared_error: 0.832 - ETA: 10s - loss: 0.8350 - mean_squared_error: 0.835 - ETA: 10s - loss: 0.8345 - mean_squared_error: 0.834 - ETA: 10s - loss: 0.8333 - mean_squared_error: 0.833 - ETA: 10s - loss: 0.8334 - mean_squared_error: 0.833 - ETA: 9s - loss: 0.8335 - mean_squared_error: 0.833 - ETA: 9s - loss: 0.8331 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8327 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8325 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8352 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8362 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8368 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8355 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8358 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8346 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8345 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8348 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8326 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8323 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8312 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8283 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8281 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 7s - loss: 0.8275 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8274 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8286 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8298 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8305 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8308 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8300 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8292 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8283 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8274 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8279 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8280 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8287 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8281 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8270 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8296 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8302 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8303 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8309 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8306 - mean_squared_error: 0.83 - ETA: 4s - loss: 0.8311 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8320 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8327 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8334 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8330 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8330 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8328 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8331 - mean_squared_error: 0.83 - ETA: 3s - loss: 0.8338 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8334 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8335 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8333 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8341 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8341 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8343 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8336 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 2s - loss: 0.8328 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8333 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8328 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8320 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8326 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8328 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8331 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8334 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8330 - mean_squared_error: 0.83 - ETA: 1s - loss: 0.8335 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8337 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8332 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8328 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8329 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8335 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8336 - mean_squared_error: 0.83 - ETA: 0s - loss: 0.8338 - mean_squared_error: 0.83 - 13s 2us/step - loss: 0.8335 - mean_squared_error: 0.8335\n",
      "Epoch 4/5\n",
      "6425094/6425094 [==============================] - ETA: 47s - loss: 0.9154 - mean_squared_error: 0.915 - ETA: 29s - loss: 0.8638 - mean_squared_error: 0.863 - ETA: 23s - loss: 0.8592 - mean_squared_error: 0.859 - ETA: 20s - loss: 0.8540 - mean_squared_error: 0.854 - ETA: 18s - loss: 0.8376 - mean_squared_error: 0.837 - ETA: 17s - loss: 0.8382 - mean_squared_error: 0.838 - ETA: 16s - loss: 0.8289 - mean_squared_error: 0.828 - ETA: 15s - loss: 0.8235 - mean_squared_error: 0.823 - ETA: 15s - loss: 0.8209 - mean_squared_error: 0.820 - ETA: 15s - loss: 0.8174 - mean_squared_error: 0.817 - ETA: 14s - loss: 0.8172 - mean_squared_error: 0.817 - ETA: 14s - loss: 0.8234 - mean_squared_error: 0.823 - ETA: 13s - loss: 0.8271 - mean_squared_error: 0.827 - ETA: 13s - loss: 0.8325 - mean_squared_error: 0.832 - ETA: 13s - loss: 0.8351 - mean_squared_error: 0.835 - ETA: 13s - loss: 0.8318 - mean_squared_error: 0.831 - ETA: 12s - loss: 0.8300 - mean_squared_error: 0.830 - ETA: 12s - loss: 0.8295 - mean_squared_error: 0.829 - ETA: 12s - loss: 0.8311 - mean_squared_error: 0.831 - ETA: 12s - loss: 0.8369 - mean_squared_error: 0.836 - ETA: 11s - loss: 0.8374 - mean_squared_error: 0.837 - ETA: 11s - loss: 0.8349 - mean_squared_error: 0.834 - ETA: 11s - loss: 0.8393 - mean_squared_error: 0.839 - ETA: 11s - loss: 0.8385 - mean_squared_error: 0.838 - ETA: 11s - loss: 0.8358 - mean_squared_error: 0.835 - ETA: 11s - loss: 0.8377 - mean_squared_error: 0.837 - ETA: 10s - loss: 0.8402 - mean_squared_error: 0.840 - ETA: 10s - loss: 0.8431 - mean_squared_error: 0.843 - ETA: 10s - loss: 0.8430 - mean_squared_error: 0.843 - ETA: 10s - loss: 0.8411 - mean_squared_error: 0.841 - ETA: 10s - loss: 0.8395 - mean_squared_error: 0.839 - ETA: 10s - loss: 0.8410 - mean_squared_error: 0.841 - ETA: 10s - loss: 0.8395 - mean_squared_error: 0.839 - ETA: 9s - loss: 0.8375 - mean_squared_error: 0.837 - ETA: 9s - loss: 0.8361 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8370 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8355 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8359 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8346 - mean_squared_error: 0.83 - ETA: 9s - loss: 0.8353 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8365 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8360 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8358 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8354 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8344 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8343 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8326 - mean_squared_error: 0.83 - ETA: 8s - loss: 0.8320 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8318 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8310 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8308 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8308 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8317 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8303 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8307 - mean_squared_error: 0.83 - ETA: 7s - loss: 0.8308 - mean_squared_error: 0.83 - ETA: 6s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8297 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8292 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8289 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8284 - mean_squared_error: 0.82 - ETA: 6s - loss: 0.8286 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8276 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8277 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8265 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8271 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8267 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8265 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8264 - mean_squared_error: 0.82 - ETA: 5s - loss: 0.8274 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8275 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8269 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8280 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8275 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8274 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8280 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8282 - mean_squared_error: 0.82 - ETA: 4s - loss: 0.8285 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8278 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8270 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8264 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8269 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8267 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8260 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8273 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8274 - mean_squared_error: 0.82 - ETA: 3s - loss: 0.8276 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8272 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8268 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8270 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8271 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8270 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8271 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8268 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8255 - mean_squared_error: 0.82 - ETA: 2s - loss: 0.8257 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8263 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8262 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8258 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8253 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8256 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8255 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8256 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8252 - mean_squared_error: 0.82 - ETA: 1s - loss: 0.8242 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8238 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8239 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8240 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8237 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8234 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8231 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8233 - mean_squared_error: 0.82 - ETA: 0s - loss: 0.8230 - mean_squared_error: 0.82 - 13s 2us/step - loss: 0.8229 - mean_squared_error: 0.8229\n",
      "Epoch 5/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6425094/6425094 [==============================] - ETA: 46s - loss: 0.8244 - mean_squared_error: 0.824 - ETA: 29s - loss: 0.8390 - mean_squared_error: 0.839 - ETA: 23s - loss: 0.8432 - mean_squared_error: 0.843 - ETA: 20s - loss: 0.8266 - mean_squared_error: 0.826 - ETA: 18s - loss: 0.8307 - mean_squared_error: 0.830 - ETA: 17s - loss: 0.8345 - mean_squared_error: 0.834 - ETA: 16s - loss: 0.8355 - mean_squared_error: 0.835 - ETA: 15s - loss: 0.8366 - mean_squared_error: 0.836 - ETA: 15s - loss: 0.8279 - mean_squared_error: 0.827 - ETA: 14s - loss: 0.8244 - mean_squared_error: 0.824 - ETA: 14s - loss: 0.8265 - mean_squared_error: 0.826 - ETA: 14s - loss: 0.8206 - mean_squared_error: 0.820 - ETA: 13s - loss: 0.8258 - mean_squared_error: 0.825 - ETA: 13s - loss: 0.8258 - mean_squared_error: 0.825 - ETA: 13s - loss: 0.8264 - mean_squared_error: 0.826 - ETA: 12s - loss: 0.8275 - mean_squared_error: 0.827 - ETA: 12s - loss: 0.8298 - mean_squared_error: 0.829 - ETA: 12s - loss: 0.8289 - mean_squared_error: 0.828 - ETA: 12s - loss: 0.8283 - mean_squared_error: 0.828 - ETA: 11s - loss: 0.8230 - mean_squared_error: 0.823 - ETA: 11s - loss: 0.8220 - mean_squared_error: 0.822 - ETA: 11s - loss: 0.8215 - mean_squared_error: 0.821 - ETA: 11s - loss: 0.8207 - mean_squared_error: 0.820 - ETA: 11s - loss: 0.8217 - mean_squared_error: 0.821 - ETA: 11s - loss: 0.8191 - mean_squared_error: 0.819 - ETA: 10s - loss: 0.8165 - mean_squared_error: 0.816 - ETA: 10s - loss: 0.8184 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8171 - mean_squared_error: 0.817 - ETA: 10s - loss: 0.8181 - mean_squared_error: 0.818 - ETA: 10s - loss: 0.8163 - mean_squared_error: 0.816 - ETA: 10s - loss: 0.8178 - mean_squared_error: 0.817 - ETA: 10s - loss: 0.8174 - mean_squared_error: 0.817 - ETA: 9s - loss: 0.8173 - mean_squared_error: 0.817 - ETA: 9s - loss: 0.8162 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8158 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8168 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8168 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8170 - mean_squared_error: 0.81 - ETA: 9s - loss: 0.8174 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8170 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8154 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8148 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8146 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 8s - loss: 0.8141 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8140 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8142 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8154 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8152 - mean_squared_error: 0.81 - ETA: 7s - loss: 0.8153 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8155 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8167 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8167 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8167 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8163 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8161 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 6s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8160 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8149 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8166 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8173 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8175 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8173 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 5s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8167 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8163 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8169 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8174 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8170 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8164 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8167 - mean_squared_error: 0.81 - ETA: 4s - loss: 0.8161 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8158 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8155 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8151 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8142 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8140 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8144 - mean_squared_error: 0.81 - ETA: 3s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8137 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8134 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 2s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8141 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8135 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8132 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8136 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8141 - mean_squared_error: 0.81 - ETA: 1s - loss: 0.8147 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8139 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8144 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8146 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8155 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8154 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8152 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8156 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8161 - mean_squared_error: 0.81 - ETA: 0s - loss: 0.8159 - mean_squared_error: 0.81 - 13s 2us/step - loss: 0.8163 - mean_squared_error: 0.8163\n",
      "214200/214200 [==============================] - ETA:  - 0s 1us/step\n",
      "\n"
     ]
    }
   ],
   "source": [
    "slice_start = 0\n",
    "SEED = 0\n",
    "\n",
    "for cur_block_num in tqdm_notebook(months_to_generate_meta_features):\n",
    "    # Use M chunks to predict for the chunk M+1\n",
    "    cur_X_train = all_data.loc[dates <  cur_block_num][feature_columns]\n",
    "    cur_X_test =  all_data.loc[dates == cur_block_num][feature_columns]\n",
    "    cur_y_train = all_data.loc[dates <  cur_block_num, Target].values\n",
    "    cur_y_test =  all_data.loc[dates == cur_block_num, Target].values\n",
    "\n",
    "    # Create Numpy arrays of train, test and target dataframes to feed into models\n",
    "    train_x = cur_X_train.values\n",
    "    train_y = cur_y_train.ravel()\n",
    "    test_x = cur_X_test.values\n",
    "    test_y = cur_y_test.ravel()\n",
    "    preds = []\n",
    "\n",
    "    from sklearn.linear_model import (LinearRegression, SGDRegressor)\n",
    "    import lightgbm as lgb\n",
    "\n",
    "    sgdr= SGDRegressor(\n",
    "        penalty = 'l2' ,\n",
    "        random_state = SEED )\n",
    "    lgb_params = {'feature_fraction': 0.75,\n",
    "                  'metric': 'rmse',\n",
    "                  'nthread':16,\n",
    "                  'min_data_in_leaf': 2**7,\n",
    "                  'bagging_fraction': 0.75,\n",
    "                  'learning_rate': 0.03,\n",
    "                  'objective': 'mse',\n",
    "                  'bagging_seed': 2**7,\n",
    "                  'num_leaves': 2**7,\n",
    "                  'bagging_freq':1,\n",
    "                  'verbose':0}\n",
    "    estimators = [sgdr]\n",
    "\n",
    "    for estimator in estimators:\n",
    "        estimator.fit(train_x, train_y)\n",
    "        pred_test = estimator.predict(test_x)\n",
    "        preds.append(pred_test)\n",
    "\n",
    "        # pred_train = estimator.predict(train_x)\n",
    "        # print('Train RMSE for %s is %f' % (estimator.__class__.__name__, sqrt(mean_squared_error(cur_y_train, pred_train))))\n",
    "        # print('Test RMSE for %s is %f' % (estimator.__class__.__name__, sqrt(mean_squared_error(cur_y_test, pred_test))))\n",
    "\n",
    "    print('Training Model %d: %s'%(len(preds), 'lightgbm'))\n",
    "    estimator = lgb.train(lgb_params, lgb.Dataset(train_x, label=train_y), 300)\n",
    "    pred_test = estimator.predict(test_x)\n",
    "    preds.append(pred_test)\n",
    "\n",
    "    # pred_train = estimator.predict(train_x)\n",
    "    # print('Train RMSE for %s is %f' % ('lightgbm', sqrt(mean_squared_error(cur_y_train, pred_train))))\n",
    "    # print('Test RMSE for %s is %f' % ('lightgbm', sqrt(mean_squared_error(cur_y_test, pred_test))))\n",
    "\n",
    "    print('Training Model %d: %s'%(len(preds), 'keras'))\n",
    "    from keras.models import Sequential\n",
    "    from keras.layers import Dense\n",
    "    from keras.wrappers.scikit_learn import KerasRegressor\n",
    "\n",
    "    def baseline_model():\n",
    "        # create model\n",
    "        model = Sequential()\n",
    "        model.add(Dense(20, input_dim=train_x.shape[1], kernel_initializer='uniform', activation='softplus'))\n",
    "        model.add(Dense(1, kernel_initializer='uniform', activation = 'relu'))\n",
    "\n",
    "        # Compile model\n",
    "        model.compile(loss='mse', optimizer='adam', metrics=['mse'])\n",
    "        # model.compile(loss='mean_squared_error', optimizer='adam')\n",
    "        return model\n",
    "\n",
    "    estimator = KerasRegressor(build_fn=baseline_model, verbose=1, epochs=5, batch_size = 55000)\n",
    "    estimator.fit(train_x, train_y)\n",
    "    pred_test = estimator.predict(test_x)\n",
    "    preds.append(pred_test)\n",
    "\n",
    "    slice_end = slice_start + cur_X_test.shape[0]\n",
    "    X_all_level2[ slice_start : slice_end , :] = np.c_[preds].transpose()\n",
    "    slice_start = slice_end"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.2 Second-level model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Split train and test for second-level model\n",
    "# The last chunk is test set while remaining chunks are train set\n",
    "test_nrow = len(preds[0])\n",
    "X_train_level2 = X_all_level2[ : -test_nrow, :]\n",
    "X_test_level2 = X_all_level2[ -test_nrow: , :]\n",
    "y_train_level2 = y_all_level2[ : -test_nrow]\n",
    "y_test_level2 = y_all_level2[ -test_nrow : ]\n",
    "pred_list = {}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.2.1 Second level learning model via linear regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Second level learning model via linear regression\n",
      "Train R-squared for train_preds_lr_stacking is 0.815321\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import (LinearRegression, SGDRegressor)\n",
    "\n",
    "print('Training Second level learning model via linear regression')\n",
    "lr = LinearRegression()\n",
    "lr.fit(X_train_level2, y_train_level2)\n",
    "\n",
    "# Compute R-squared on the train and test sets.\n",
    "# print('Train R-squared for %s is %f' %('test_preds_lr_stacking', sqrt(mean_squared_error(y_train_level2, lr.predict(X_train_level2)))))\n",
    "test_preds_lr_stacking = lr.predict(X_test_level2)\n",
    "train_preds_lr_stacking = lr.predict(X_train_level2)\n",
    "print('Train R-squared for %s is %f' %('train_preds_lr_stacking', sqrt(mean_squared_error(y_train_level2, train_preds_lr_stacking))))\n",
    "pred_list['test_preds_lr_stacking'] = test_preds_lr_stacking\n",
    "\n",
    "if Validation:\n",
    "    print('Test R-squared for %s is %f' %('test_preds_lr_stacking', sqrt(mean_squared_error(y_test_level2, test_preds_lr_stacking))))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Second level learning model via SGDRegressor\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\minori\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\linear_model\\stochastic_gradient.py:128: FutureWarning: max_iter and tol parameters have been added in <class 'sklearn.linear_model.stochastic_gradient.SGDRegressor'> in 0.19. If both are left unset, they default to max_iter=5 and tol=None. If tol is not None, max_iter defaults to max_iter=1000. From 0.21, default max_iter will be 1000, and default tol will be 1e-3.\n",
      "  \"and default tol will be 1e-3.\" % type(self), FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train R-squared for train_preds_lr_stacking is 0.818134\n"
     ]
    }
   ],
   "source": [
    "print('Training Second level learning model via SGDRegressor')\n",
    "sgdr= SGDRegressor(\n",
    "    penalty = 'l2' ,\n",
    "    random_state = SEED )\n",
    "sgdr.fit(X_train_level2, y_train_level2)\n",
    "\n",
    "# Compute R-squared on the train and test sets.\n",
    "# print('Train R-squared for %s is %f' %('test_preds_lr_stacking', sqrt(mean_squared_error(y_train_level2, lr.predict(X_train_level2)))))\n",
    "test_preds_sgdr_stacking = sgdr.predict(X_test_level2)\n",
    "train_preds_sgdr_stacking = sgdr.predict(X_train_level2)\n",
    "print('Train R-squared for %s is %f' %('train_preds_lr_stacking', sqrt(mean_squared_error(y_train_level2, train_preds_sgdr_stacking))))\n",
    "pred_list['test_preds_sgdr_stacking'] = test_preds_sgdr_stacking\n",
    "\n",
    "if Validation:\n",
    "    print('Test R-squared for %s is %f' %('test_preds_sgdr_stacking', sqrt(mean_squared_error(y_test_level2, test_preds_sgdr_stacking))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 5. Submission"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.29133925941839706\n",
      "0.2741408713025763\n"
     ]
    }
   ],
   "source": [
    "if not Validation:\n",
    "    submission = pd.read_csv('sample_submission.csv.gz')\n",
    "    ver = 1\n",
    "    for pred_ver in ['lr_stacking', 'sgdr_stacking']:\n",
    "        print(pred_list['test_preds_' + pred_ver].clip(0,20).mean())\n",
    "        submission['item_cnt_month'] = pred_list['test_preds_' + pred_ver].clip(0,20)\n",
    "        submission[['ID', 'item_cnt_month']].to_csv('ver%d.csv' % ( ver), index = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from catboost import CatBoostRegressor\n",
    "from sklearn import metrics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE: 1.004505352578051\n"
     ]
    }
   ],
   "source": [
    "#CatBoost\n",
    "cb_model = CatBoostRegressor(iterations=100, learning_rate=0.2, depth=7, loss_function='RMSE', eval_metric='RMSE', random_seed=18, od_type='Iter', od_wait=20) \n",
    "cb_model.fit(X_train, y_train, eval_set=(X_test, y_test), use_best_model=True, verbose=False)\n",
    "print('RMSE:', np.sqrt(metrics.mean_squared_error(y_test.clip(0.,20.), cb_model.predict(X_test).clip(0.,20.))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE: 1.004505352578051\n"
     ]
    }
   ],
   "source": [
    "#CatBoost\n",
    "cb_model = CatBoostRegressor(iterations=1000, learning_rate=0.2, depth=7, loss_function='RMSE', eval_metric='RMSE', random_seed=18, od_type='Iter', od_wait=20) \n",
    "cb_model.fit(X_train, y_train, eval_set=(X_test, y_test), use_best_model=True, verbose=False)\n",
    "print('RMSE:', np.sqrt(metrics.mean_squared_error(y_test.clip(0.,20.), cb_model.predict(X_test).clip(0.,20.))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE: 1.0027329909297533\n"
     ]
    }
   ],
   "source": [
    "#CatBoost\n",
    "cb_model = CatBoostRegressor(iterations=5000, learning_rate=0.05, depth=7, loss_function='RMSE', eval_metric='RMSE', random_seed=18, od_type='Iter', od_wait=20) \n",
    "cb_model.fit(X_train, y_train, eval_set=(X_test, y_test), use_best_model=True, verbose=False)\n",
    "print('RMSE:', np.sqrt(metrics.mean_squared_error(y_test.clip(0.,20.), cb_model.predict(X_test).clip(0.,20.))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# To DO: \n",
    "- KNN features\n",
    "- validation\n",
    "- stacking "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>target</th>\n",
       "      <th>target_shop</th>\n",
       "      <th>target_item</th>\n",
       "      <th>target_lag_1</th>\n",
       "      <th>target_item_lag_1</th>\n",
       "      <th>target_shop_lag_1</th>\n",
       "      <th>target_lag_2</th>\n",
       "      <th>target_item_lag_2</th>\n",
       "      <th>target_shop_lag_2</th>\n",
       "      <th>target_lag_3</th>\n",
       "      <th>target_item_lag_3</th>\n",
       "      <th>target_shop_lag_3</th>\n",
       "      <th>target_lag_4</th>\n",
       "      <th>target_item_lag_4</th>\n",
       "      <th>target_shop_lag_4</th>\n",
       "      <th>target_lag_5</th>\n",
       "      <th>target_item_lag_5</th>\n",
       "      <th>target_shop_lag_5</th>\n",
       "      <th>target_lag_6</th>\n",
       "      <th>target_item_lag_6</th>\n",
       "      <th>target_shop_lag_6</th>\n",
       "      <th>target_lag_12</th>\n",
       "      <th>target_item_lag_12</th>\n",
       "      <th>target_shop_lag_12</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_target_enc_kf</th>\n",
       "      <th>item_target_enc_loo</th>\n",
       "      <th>item_target_enc_smoo</th>\n",
       "      <th>item_target_enc_expan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>54</td>\n",
       "      <td>10297</td>\n",
       "      <td>12</td>\n",
       "      <td>4.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>37</td>\n",
       "      <td>0.074755</td>\n",
       "      <td>0.113682</td>\n",
       "      <td>0.137379</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>54</td>\n",
       "      <td>10296</td>\n",
       "      <td>12</td>\n",
       "      <td>3.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>38</td>\n",
       "      <td>0.098630</td>\n",
       "      <td>0.123212</td>\n",
       "      <td>0.146960</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>54</td>\n",
       "      <td>10298</td>\n",
       "      <td>12</td>\n",
       "      <td>14.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>369.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>119.0</td>\n",
       "      <td>1309.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>144.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>40</td>\n",
       "      <td>1.431898</td>\n",
       "      <td>1.663776</td>\n",
       "      <td>1.557884</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>54</td>\n",
       "      <td>10300</td>\n",
       "      <td>12</td>\n",
       "      <td>3.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>31.0</td>\n",
       "      <td>361.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>37</td>\n",
       "      <td>0.213953</td>\n",
       "      <td>0.245665</td>\n",
       "      <td>0.255865</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>54</td>\n",
       "      <td>10284</td>\n",
       "      <td>12</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>7827.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>7792.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>7225.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>57</td>\n",
       "      <td>0.062338</td>\n",
       "      <td>0.065410</td>\n",
       "      <td>0.093151</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>54</td>\n",
       "      <td>10292</td>\n",
       "      <td>12</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>93.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>156.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>203.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>279.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>445.0</td>\n",
       "      <td>7827.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>140.0</td>\n",
       "      <td>7792.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0.781141</td>\n",
       "      <td>0.835260</td>\n",
       "      <td>0.798446</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>54</td>\n",
       "      <td>10109</td>\n",
       "      <td>12</td>\n",
       "      <td>2.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>7827.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>7792.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>7225.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0.087774</td>\n",
       "      <td>0.115196</td>\n",
       "      <td>0.141145</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>54</td>\n",
       "      <td>10107</td>\n",
       "      <td>12</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>7827.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>7792.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>7225.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>9386.0</td>\n",
       "      <td>37</td>\n",
       "      <td>0.097561</td>\n",
       "      <td>0.193548</td>\n",
       "      <td>0.215116</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>54</td>\n",
       "      <td>10121</td>\n",
       "      <td>12</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>6676.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>9386.0</td>\n",
       "      <td>37</td>\n",
       "      <td>0.028689</td>\n",
       "      <td>0.023881</td>\n",
       "      <td>0.097317</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>54</td>\n",
       "      <td>10143</td>\n",
       "      <td>12</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8198.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>10055.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>7978.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>55</td>\n",
       "      <td>0.108140</td>\n",
       "      <td>0.131021</td>\n",
       "      <td>0.149631</td>\n",
       "      <td>0.3343</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   shop_id  item_id  date_block_num  target  target_shop  target_item  \\\n",
       "0       54    10297              12     4.0       8198.0         23.0   \n",
       "1       54    10296              12     3.0       8198.0         17.0   \n",
       "2       54    10298              12    14.0       8198.0        182.0   \n",
       "3       54    10300              12     3.0       8198.0         26.0   \n",
       "4       54    10284              12     1.0       8198.0          3.0   \n",
       "5       54    10292              12     9.0       8198.0         93.0   \n",
       "6       54    10109              12     2.0       8198.0         17.0   \n",
       "7       54    10107              12     1.0       8198.0         26.0   \n",
       "8       54    10121              12     1.0       8198.0          1.0   \n",
       "9       54    10143              12     1.0       8198.0         12.0   \n",
       "\n",
       "   target_lag_1  target_item_lag_1  target_shop_lag_1  target_lag_2  \\\n",
       "0           3.0               42.0            10055.0           0.0   \n",
       "1           0.0               24.0            10055.0           0.0   \n",
       "2          21.0              369.0            10055.0         119.0   \n",
       "3           1.0               54.0            10055.0          31.0   \n",
       "4           0.0                4.0            10055.0           0.0   \n",
       "5           8.0              156.0            10055.0          16.0   \n",
       "6           1.0               19.0            10055.0           0.0   \n",
       "7           2.0               23.0            10055.0           6.0   \n",
       "8           0.0                0.0                0.0           0.0   \n",
       "9           1.0               18.0            10055.0           0.0   \n",
       "\n",
       "   target_item_lag_2  target_shop_lag_2  target_lag_3  target_item_lag_3  \\\n",
       "0                2.0             7978.0           0.0                0.0   \n",
       "1                0.0                0.0           0.0                0.0   \n",
       "2             1309.0             7978.0           7.0              144.0   \n",
       "3              361.0             7978.0           0.0               53.0   \n",
       "4                3.0             7978.0           0.0                5.0   \n",
       "5              203.0             7978.0          15.0              279.0   \n",
       "6               15.0             7978.0           0.0               17.0   \n",
       "7               39.0             7978.0           2.0               48.0   \n",
       "8                0.0                0.0           0.0                2.0   \n",
       "9                2.0             7978.0           0.0                0.0   \n",
       "\n",
       "   target_shop_lag_3  target_lag_4  target_item_lag_4  target_shop_lag_4  \\\n",
       "0                0.0           0.0                0.0                0.0   \n",
       "1                0.0           0.0                0.0                0.0   \n",
       "2             6676.0           0.0                0.0                0.0   \n",
       "3             6676.0           0.0                0.0                0.0   \n",
       "4             6676.0           0.0                3.0             7827.0   \n",
       "5             6676.0          38.0              445.0             7827.0   \n",
       "6             6676.0           0.0               18.0             7827.0   \n",
       "7             6676.0           6.0               67.0             7827.0   \n",
       "8             6676.0           0.0                0.0                0.0   \n",
       "9                0.0           0.0                0.0                0.0   \n",
       "\n",
       "   target_lag_5  target_item_lag_5  target_shop_lag_5  target_lag_6  \\\n",
       "0           0.0                0.0                0.0           0.0   \n",
       "1           0.0                0.0                0.0           0.0   \n",
       "2           0.0                0.0                0.0           0.0   \n",
       "3           0.0                0.0                0.0           0.0   \n",
       "4           0.0               10.0             7792.0           1.0   \n",
       "5          11.0              140.0             7792.0           0.0   \n",
       "6           1.0               28.0             7792.0           0.0   \n",
       "7           2.0               75.0             7792.0           1.0   \n",
       "8           0.0                0.0                0.0           0.0   \n",
       "9           0.0                0.0                0.0           0.0   \n",
       "\n",
       "   target_item_lag_6  target_shop_lag_6  target_lag_12  target_item_lag_12  \\\n",
       "0                0.0                0.0            0.0                 0.0   \n",
       "1                0.0                0.0            0.0                 0.0   \n",
       "2                0.0                0.0            0.0                 0.0   \n",
       "3                0.0                0.0            0.0                 0.0   \n",
       "4                9.0             7225.0            0.0                 0.0   \n",
       "5                0.0                0.0            0.0                 0.0   \n",
       "6               20.0             7225.0            0.0                 0.0   \n",
       "7               53.0             7225.0            3.0                32.0   \n",
       "8                0.0                0.0            1.0                 2.0   \n",
       "9                0.0                0.0            0.0                 0.0   \n",
       "\n",
       "   target_shop_lag_12  item_category_id  item_target_enc_kf  \\\n",
       "0                 0.0                37            0.074755   \n",
       "1                 0.0                38            0.098630   \n",
       "2                 0.0                40            1.431898   \n",
       "3                 0.0                37            0.213953   \n",
       "4                 0.0                57            0.062338   \n",
       "5                 0.0                40            0.781141   \n",
       "6                 0.0                40            0.087774   \n",
       "7              9386.0                37            0.097561   \n",
       "8              9386.0                37            0.028689   \n",
       "9                 0.0                55            0.108140   \n",
       "\n",
       "   item_target_enc_loo  item_target_enc_smoo  item_target_enc_expan  \n",
       "0             0.113682              0.137379                 0.3343  \n",
       "1             0.123212              0.146960                 0.3343  \n",
       "2             1.663776              1.557884                 0.3343  \n",
       "3             0.245665              0.255865                 0.3343  \n",
       "4             0.065410              0.093151                 0.3343  \n",
       "5             0.835260              0.798446                 0.3343  \n",
       "6             0.115196              0.141145                 0.3343  \n",
       "7             0.193548              0.215116                 0.3343  \n",
       "8             0.023881              0.097317                 0.3343  \n",
       "9             0.131021              0.149631                 0.3343  "
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
